福井新聞社主催、小学生プログラミング教室「はじめの一歩」
全国新聞社事業協議会主催の「みんなのみらい、みんなでつくろう~全国選抜小学生プログラミング大会」に向けた福井大会が初開催(10/31締切)。 越前がにロボコンPCNこどもプロコンに加わった新たなチャンス! 好きなもの見つけて、どんどんチャレンジしてもらいたい!


密対策、風の森ホールを広く使ったプログラミング教室、たっぷり3時間。 IchigoJamを使って、キーボード入門、逐次処理、繰り返し、条件判定、改造、LEDを増やすところまですすめる前半90分。 30分の休憩を挟んで、ボタン増設、光センサー、サーボモーター制御、組み合わせた応用を通じて、何かつくるアイデアを広げてもらう後半90分。


はじめてのプログラミング with IchigoJam (Keynote, PowerPoint)」
プログラミングはじめのいっぽから、ゲームづくりまでのスライドはこちら!復習や、人に教えてみると理解がぐっと深まるのでおすすめです。

1部で作ったゲーム、自宅で続きをする時は「LOAD1」いろいろ改造して楽しめる。
永平寺町、リアル開催プログラミングワークショップとダメージ制かわくだりゲーム改造法


本日のセットは、小型IchigoJamのIchigoDake + IchigoDyhook + わくわく電子工作キット + GND増設した特性電池ボックス!


はじめての電子工作。実験して、確かめる、これぞ科学!ものづくりの基本!


高専生もサポート、小学生前のめり!


福井大学院生もサポート、女子参加も多かった!


光センサーとサーボモーターを組み合わせてプログラミングしてつくる例、自動めがね拭き機!

広い会場、時々流れ星的な演出、見えました?
持ち込んだDMX512対応照明 x IchigoSoda(IoT対応IchigoJam)で作った、プログラム!1から5で角度指定、6でランダムモード!(参考、DMX512 x IchigoJam

10 POKE#700,240,181,114,182,64,24,80,33,9,2,1,49,9,4,128,38,118,0,1,34,202,96,4,39,63,2,29,55,0,240,37,248,2,34,202,96,93,39,0,240,32,248,4,120,164,0,1,52,1,48,1,34,202,96,45,39,0,240,23,248,1,37 20 POKE#73E,3,120,1,34,43,66,0,208,2,34,202,96,44,39,0,240,13,248,109,0,181,66,244,209,2,34,202,96,93,39,0,240,5,248,1,48,1,60,229,209,98,182,240,189,1,63,253,209,112,71 100 I=IOT.IN():IF I=0 CONT 105 IF I N=I:L=255:B=255:M=90 106 IF I=6 GOTO 200 110 POKE#800,8,0,250*N/6,0,M,0,0,L,B,RND(256),RND(256),RND(256),RND(256),0,0 120 U=USR(#700,#800) 130 WAIT10 135 IF L L=L-30:IF L<0 L=0 140 GOTO 100 200 POKE#800,8,0,250*N/6,0,M,0,0,L,B,RND(256),RND(256),RND(256),RND(256),0,0 205 N=RND(6):M=250*RND(6)/6:B=0:IF ABS(M-90)<40 L=255 ELSE L=50 210 U=USR(#700,#800) 220 WAIT10 230 IF IOT.IN() GOTO 100 240 GOTO 200

いろんな部品、プログラムを組み合わせて、自分だけの作品作り、挑戦しましょう!


最後に360度カメラで、集合しない写真!


同じ写真を別の角度で切り出したもの。


同じ写真をまた別の角度で切り出したもの。


光るフェイスシールド&永平寺町産イチゴマスク!


presented by 副新聞社 & スタッフ一同!

進めよう、創造的な人材育成!
創造的な人材の育成に向けて ~求められる教育改革と企業の行動~ 1996年 経団連

快適さ、熱中症対策には重要な湿度。IoT温度計に湿度を追加し、WBGTを簡易計算したものと加えて、古い iPad mini でも表示。 温湿度IoTは、SHT31を使ったIchigoJam BASIC 5行のIoTプログラムをIchigoSodaに電源をつないで動かしてます。 5分に1度の4G通信、sakura.ioなら月額使用料66円。オフィス他、親や、祖父母家に設置しておくのもいいでしょう。

IchigoOndo for ES5 src on GitHub
sakura.io の DataStore v2 のトークンと、登録したモジュールID、送信したチャンネル番号を記載すれば使えます。


iOS 9.3.5 で、アップデートが止まってしまった古いiPadですが、ES6で導入された let/const、class、TypedArray、=>による関数定義、ES7の async/await が使えないことを考慮すればOK。


今回のグラフ表示は、Chart.jsを使わず、HTML Canvas を使った自前実装。2軸使った表示で、区切り線が2種類出したくなかったのです。 赤い線が気温、オレンジがWBGT、水色が湿度、それぞれ薄い線は昨日のデータを表します。

環境省による暑さ指数WBGT、気温と湿度で算出する計算式が掲載されていたものを使用。

現在の暑さ指数(WBGT)について


県内ミニ観光、福井県大野市へ。いい空と夢助ソフト(だんごのせ、あんこ入りソフトクリーム) at 米の菓 ゆめすけ


野外冷房と大きな扇風機がある、テラス席、炎天下でも日陰で短時間なら大丈夫!


電話予約すると早そうです。(ゆめすけ at Facebook)


モモンガコーヒーのコーヒーソーダ!黒ビール風な、ビターの味わいがいい感じ!

暑い夏、WBGTにも注意しつつ、楽しみましょう!

links
- 環境省熱中症予防情報サイト 暑さ指数とは?
- 熱中症対策アプリ用オープンデータと暑さ指数予測ランキング、トップ840!

ブラウザの上部に「安全ではありません」「Not Secure」と出るサイト。だいぶ少なくなってきましたが、まだ目にします。

安全ではないと言われると普通、心穏やかではいられません。それを見たら、すぐに閉じるという人もいました。よく見るので特に気にしていない人は、それはそれで危険です。

日経新聞一面にてそのリスクが発表されたのが2017年。 富山、北海道、大阪、奈良、栃木、この5都道府県はSSL未対応。早急に対応が求められます。

都道府県AOSSLダッシュボード (カラム地図7x7)」(DATA on GitHub)

ここでいう「安全ではない」とは、見ているページのデータや、何か送信したデータがSSLによって暗号化されておらず、インターネットを構成するコンピューター群を伝わっていく途中で盗み見されたり、改ざんされたりする可能性があることを意味します。

例えば行政のサイトがSSLではない場合、電子申請へのリンク先が全然違うサーバーになっていて個人情報を奪われるリスクを考えたり、自治体の情報が何らかの情報に書き換えられたものかもしれないと疑う必要があるため、そもそも新型コロナウイルスなど、重要な情報が信頼できないことになってしまっています。 (新型コロナウイルス対策ダッシュボードでも非SSL情報源の扱いを考えないと・・・)

日本の自治体のSSL取組率は72%。まだ100%になっている県はないようです。 残る非SSL自治体は、あわら市美浜町だけとなった福井県、サイバーセキュリティのキックオフイベントでのピッチ動画をいただきました。


越前がにロボコンは、こどもとともに、大人がコンピューターを基本から楽しく学ぶ、福井県庁協力のプロジェクト。 「こどもプログラミング実業団」と、その後のサイバーセキュリティ教育プログラム「CyberSakura」を、どうぞご活用ください!

今こそ必要なDX、サイバーセキュリティとうまく付き合い、AI/IoTをあらゆる業界が活用していきましょう!

links
- 地方公共団体サイト、97%に改ざん・盗み見リスク - 日経新聞一面で喚起された常時SSL(AOSSL)しないリスクと未来の情報発信
- 世界一安心できるまちを目指そう、福井県。サイバーセキュリティはじめの一歩は誰にとっても必要なものと知ること。IchigoJamでもCTF!

IchigoJamを使った、毎日30分のタイピングをしてくれた福井県勝山市立鹿谷小学校、1週間でどこまで速くなっているか!?

実験へのご協力いただいたみなさん、ありがとうございました!(データ整理はこれから!)


タイピングする鹿谷小の3年生


スキルアップタイム、もくもくとタイピングに取り組みます。


早速、全ステージクリアしてくれた、全記録!

ちょっと時間をもらってミニレクチャー
ESC押して、F4押してでてくるのがプログラム!
LED1、エンターで、LEDを光らせる、コンピューターとのおはなし第一歩。
ちょっとした英単語を組み合わせることで、いろいろ作れて楽しめます!


IchigoJamを使った電子アクセサリー、AmabieDakeに興味津々なこどもたち。


鹿谷小学校ユネスコスクール加盟校されています。


学校で興味持ったこどもたちなどへ提供する学びの場。鯖江にHana道場、勝山にPCN福井 勝山クラブ>!
イノベーティブなものづくり人材育成拠点、Hana道場は、鯖江駅から徒歩5分、松阜神社の参道沿いにあります。


Hana道場がある旧鯖江地方織物検査所は、国登録文化財、近代化産業遺産群となっています。かわいい外観もお気に入り!


Hana道場の内装は、80年前のベースはほぼそのままに、女性によるデザインでいい感じ。


先代の日本のスパコン京の一部が展示中。初代プロテレビゲーマー高橋名人のサイン入りファミカセも!

越前がにロボコンや、PCNこどもプロコンIchigoJam検定など、それぞれの目標に向けて思う存分修行できます。


福井県立科学技高校の先生による、カニロボコースを想定した、IchigoJam制御のロボットプログラミング実験!


テストに便利な裏返し。センサーとモーターの動き、思い通りにならないところの原因究明。


センサーを使って、白いところの内側を走り回るロボットが完成! なんかもうちょっとすっきり書けそうだななど、大きな達成感と小さな反省が、次のスキルアップにつながります。

Ichigoチョコは、こちらで入手可能!
教材販売 - ithink


BASICからオールマシン語まで、オープンデータとIchigoJamで創るプログラミング教育 - セミナープログラム
8/28-29、オープンソース関係オンラインイベント「オープンソースカンファレンス2020 Online/Kyoto」にて、IchigoJamのヒミツを話す機会、いただきました! 8/29(土)12:00-12:45が出番です。

日本に8475コあることが分かった法令。CSVと同等なXMLで公開されている法令オープンデータに掲載されているの更新日時を使い、最終更新日順に並べて、法令名や法令番号で検索できるアプリにしてみました。

法令探し(更新順)」(src on GitHub)
準備に、前回作った法令リストのCSVと、更新日データをまとめたCSV、あわせて4MBほど読み込むのに少し時間がかかります。 あとは、通信が発生しないので、思う存分検索してみてください。(更新時間を含めない、高速版

2019年に更新された、「健康保険法施行令」は、なんと1926年(大正15年)の勅令(ImperialOrder)と、もはや100年近く前! 過去分含めた全件ダウンロードは必須なようです。六法全書と呼ばれるので、6分野など、法令を種類別に分けて、どう更新されているかのダッシュボード化すると分かりやすいかも。

法令APIでは非対応、法令番号がかぶっている3法令もこの通り!検索可能です。
法令探し(更新順) - 平成十二年八月二十一日内閣総理大臣決定
(意外と最近、内閣総務官室に総理大臣官邸事務所等を置く規則、内閣官房に危機管理審議官を置く規則、内閣広報室に内閣副広報官等を置く規則の3つが法令番号が同一な独立法令とのこと。一、ニ、三、とでも付ける改正をしてください。)

ダウンロード用のプログラムも、JavaScript(Node/Deno)用のオープンソース、ご自由にご活用ください。 8475の法令、人の目で見るのは大変ですが、プログラミングの目でざっと見る分には数分あれば十分。品詞に分けて、頻出単語を見たり、AIを使った練習に意味の解読へのチャレンジなどもおもしろそうです。


鯖江産、ボストンクラブ開発のメガネの人向けのフェイスシールド! この姿での出演予定でしたが、声かこもるため、泣く泣く外すことに。


30分番組では、接触管理アプリとオープンデータの力について、紹介しました。 飾りっ気ないCSVによるデータ公開ですが、どのように加工しても自由なので、集約したり、比較したり、分かりやすく装飾したりできます。 テレビや、新聞で分かりやすく伝える元データとしても使えて便利です。


サイバー大学の伊本貴士さんと出演した、福井テレビタイムリーふくい」。こちら、テレビ番組にて、飾りっ気ないけど、Excelで編集したり、自由に装飾したり、プログラムで自動処理するのには優秀な「CSV(シーエスブイ)」を紹介している図。
コロナ×IT×地方創生 | オピニオントーク [これまでの放送] | タイムリーふくい | 福井テレビ」(← 動画、ネットで見られます)


行政の方も、民間の方も、CSVオープンデータを活用したい方、お声がけください!
地方創生の鍵と言われるIT、やさしいIT教室、やりましょう!

links
- タイムリーふくい - 福井テレビ
- ダッシュボードとCSVオープンデータで推進しよう! 日本の法律8475コのCSV - 東京オープンデータデイ2020オンライン

JavaScriptでサーバーサイドもサクサク書けて便利な Node.js。 jsからmjsへ移行したもののブラウザ上のコードとの互換性が無いことにと、プロジェクトごとに増える node_modules が気になっていたところ、Node.jsの作者 Ryan Dahl 氏自身による Deno を発見。 いい感じだったので「PUSHかんたんオープンデータ」を移行してみました。


福井県施設 オープンデータ - PUSHかんたんオープンデータ」(src on GitHub)
バックエンドのエンジン変更なので、見た目は変わりません。 それでは寂しいので、複数の施設をひとまとめにする「集約オープンデータ」に対応! 複数の施設や店舗をひとまとめにしたオープンデータリンクを自由に作成できます。追加、削除、順番変更も思いのまま!


福井県、県有施設等の混雑状況をオープンデータとして公開:民間有志が同データを利用して混雑状況の一覧をスマートフォン等からも閲覧可能なダッシュボードを作成し公開 | カレントアウェアネス・ポータル
国立国会図書館さん、中日新聞さんにご紹介いただきました!オープンデータで切り拓く、ライトな官民連携の仕組み。ぜひ他の地域でもどうぞ!
県有施設の混雑状況をオープンデータに 出発前に確認、スマホでOK:福井:中日新聞(CHUNICHI Web)


Deno
恐竜アイコンがかわいい、Deno(ディーノ)は、Node.js作者が反省を踏まえて開発した、webフレンドリーなもうひとつのJavaScriptバックエンドエンジンです。ブラウザとの互換性の高さと、package.json不要で、URLでimportし、適宜キャッシュしてくれるパッケージ管理システムが特徴です。 (Denoの登場でNode.jsの時代は終わるのか? - Qiita

Node.js 用プログラムからの移行、ファイルアクセスの標準モジュール fs を必要なものだけ独自に用意。(node_fs.mjs on GitHub)

const fs = {} fs.readFileSync = function (fn) { const data = Deno.readFileSync(fn) const decoder = new TextDecoder('utf-8') const s = decoder.decode(data) return s } fs.writeFileSync = function (fn, s) { const d = new TextEncoder('utf-8').encode(s) Deno.writeFileSync(fn, d) } fs.appendFileSync = function (fn, s) { const d = new TextEncoder('utf-8').encode(s) Deno.writeFileSync(fn, d, { append: true }) } fs.readdirSync = function (dirn) { return Deno.readDirSync(dirn) } fs.mkdirSync = function (dirn) { return Deno.mkdirSync(dirn) } export default fs

あとは、expressからDenoのhttpに移植して、完了!(push_deno.mjs on GitHub)

セットアップに npm install はもういりません!下記の起動コマンドで即実行!(ファイルアクセスやネットワークアクセスを許可する -A オプションが必要です)

deno run -A push_deno.mjs

mjs x Deno の組み合わせで作ってみることにします!

混雑を避ける、コロナ禍では平時以上に重要です。福井県統計情報課とCode for Fukui / Sabae 連携で、福井県施設ダッシュボードに混雑状況表示が加わり、運用開始

福井県施設ダッシュボード」(src on GitHub)
定休日や、臨時休館日などを反映して、開いているかどうか、空いているかどうかがひと目で分かります。CSV/JSONオープンデータを使った応用例です。 デザインや、使い勝手、データを収集しての解析など、自由に二次利用が可能です。もちろんこのアプリもオープンソース、改造提案、改造版立ち上げも大歓迎!


福井県施設状況オープンデータ
CSVやJSONでダウンロードし、自由に活用可能です。


PUSH かんたんオープンデータ」(src on GitHub)
Code for Fukui / Sabae で開発した、データを更新する仕組みはこちら。Googleスプレッドシートによる更新をもっとシンプルにしたイメージです。スマホで簡単に、混雑状況を伝えられます。 急な休業日、営業時間変更も簡単!


教育博物館 オープンデータ
個別のページも自動的にでき、CSV/JSONオープンデータへのリンクがあって、人にも機械にも優しい。


教育博物館 オープンデータ
プログラマー大好き、JSON形式!


エイトセンス オープンデータ
ランチなどでお世話になっている鯖江のカフェ、EIGHT SENSE(エイトンセンス)さんにも使ってみてもらいました。行政施設のみならず、幅広く使っていきたいところ。


県有施設等の混雑情報をオープンデータ化します | 福井県ホームページ
行政と民間、オープンデータでどんどんつないでいきましょう!


日本政府による民間とすすめるコロナ対策「指標をCSVオープンデータに! by 福野泰介さん | 新型コロナウイルスと戦う意見募集サイト VS COVID-19アイディアボックス」が、人気です!

福井市のヒノキ花粉飛散量を予測するチャレンジ「カフモン2020」の期間が終了。 福井県による花粉オープンデータと照合して、結果発表です!

カフモン - 花粉オープンデータチャレンジ
優勝は、みずのさん!おめでとう!


2020年分のスギ花粉とヒノキ花粉の量も合わせてグラフ表示しています。(src on GitHub)
東京都版対策サイトでも活躍、グラフライブラリ Chart.js を、ES6モジュール対応の Chart.mjs へと調整、import 構文ですっきり使えるようにしています。

export default Chart

変更点はシンプル、末尾に Chartクラスを export と書くだけでした。

import Chart from './lib/Chart.mjs' import util from './lib/util.mjs' // 中略 const main = async () => { const url = 'data/r2_kahun_fukui.csv' const json = await util.fetchCSVtoJSON(url) console.log(json) showData(json) const urlp = 'data/kafumon2020.csv' const pdata = await util.fetchCSVtoJSON(urlp) console.log(pdata) showResult(json, pdata) }

Chart.mjs と util.mjs を使って、2つのグラフを作成しています。(src on GitHub)


今年のヒノキ花粉は、例と比べてずっと少なかったという結果でした。何が影響したのでしょうか?2007年からのデータがあるので、過去の気象データなどさまざまなデータを使った解析が可能です。

来年のカフモン2021もお楽しみに!

福井県独自の新型コロナウイルス対策、県内全戸へのマスク配布を購入券配布で、福井のドラッグストア「ゲンキー株式会社」が協力。 受け取った購入券を持って、最寄りのゲンキーを手軽に探せるマップアプリを作ってみました。 (県民向けにマスク購入をあっせんします | 福井県ホームページ


ゲンキーマップ
ゲンキー公開の店舗オープンデータはなかったので、「店舗・チラシ検索」に記載のデータから、一覧CSVデータを作成。 全角半角、郵便番号の表記ゆれも標準化。スクレイピングするソースコードもオープンソース、全国の高専生、Let's Code for! (Node.js src on GitHub

使用技術:ゲンキー店舗一覧CSV地理院地図 x leaflet.mjsカラム地図util.mjs
* util.mjs - JavaScriptプログラム用の便利ユーティリティーの mjs まとめ(旧、fukuno.js)


ゲンキー店舗一覧CSV
Excelなどで一覧で見ると、表記ゆれや、データの間違いは一目瞭然。行政だけでなく、民間企業でもCSVオープンデータとして公開、業務効率化と集客に有効です!

Open Data Now! (元ネタ)

links
- 福井県庁の方へ、教材リストCSVオープンデータでウェブサイトも同時更新して楽する方法
- 厚生労働省の方へ、CSVオープンデータ化で効率化しましょう! 新型コロナウイルス国内事例における都道府県別の患者報告数表示アプリ
- おうちで学ぼう、時間割ガチャ。オープンソースで貢献するきっかけ、プログラミングの教え方新動画も公開!
- jigインターン2020募集開始!高専生の学びは止まらない、JavaScriptモジュール対応の地理院地図使用クラスライブラリ leaflet.mjs

臨時休館中の福井県内施設。現在、空いているかどうかを、ひと目で確認できたらうれしいとのことで、プロトタイピング!

福井県施設ダッシュボード
混雑状況フラグもあれば、空いているところを狙っていくこともできますね。データが溜まれば混雑予測につなげることも可能。IoTで自動連携もしたいですね!(参考、来場者IoTカウンター


今回の目玉は「休日の翌日」や「第二月曜日」などの表記への対応。 日本語をコンピューターに分かるように翻訳する、JavaScriptのクラスライブラリ dtcheckjp.mjs を作りました。 休日は祝日を含むので、政府オープンデータ「国民の祝日」を使っています。 まだまだ足りない表記がありますが、どんどん要望いただいたり、オープンソースなのでプルリク(修正要望)もらって、改善予定です!

チェック例

const dtcheck = await (new DateTimeCheckerJPl()).init() console.log(dtcheck.checkTime('8時〜9時')) console.log(dtcheck.checkDate('4月20日〜5月1日')) console.log(dtcheck.checkDate('祝日'))

お店の営業時間や、ゴミ捨てなどにも応用できます!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS