家にこもってはかどる、プログラミング!

世界中から広く小中学生によるプログラミング、電子工作を募集する「PCNこどもプロコン2019-2020」 10回目の開催は、PCN発祥の地、福井県にて無観客配信開催となりました。

真剣、その場で始まる最終審査。審査委員は、高橋名人、大橋編集長、セーレンプラネット分館長長谷川さんのゲスト審査委員を迎え、PCN代表松田、PCN武生森田の計5名!

PCNこどもプロコン2020の実行委員長、PCN / ict4e/ict4rの原さんから開会宣言!

コンテストでもらったという3Dプリンターで作った自作の目隠しと合わせて送ってくれた、オリジナルの視力検査プログラム!

ノミネート作品を1つずつ紹介!タイミングよくボタンを押して打つ「やきゅうゲーム」のボタンの代わりに、バットを改造し、対戦ゲームに!ナイス、スイングな、PCN上田の代表、斉藤さん!

小学4年生の作品、たいこ名人「いこちゃん」、豆電球で光るキットとセンサーとの組み合わせで、動くON/OFFの仕組みのおもしろさ、伝わったかな?

座談会で送る、こどもたちへのエール!

お昼休みのお楽しみ、ライブコーディング。

ライブコーディングでの成果物!

配線とプログラムはこうなってます。拍手してくれるソレノイド、フルカラーテープLED、連射用のボタンをつないでいます。

5 FOR I=0 TO 15:[I*3+1]=40:NEXT:WS.LED 16 7 FOR I=3 TO 1 STEP -1:?I:OUT1:WAIT15:OUT0:WAIT15:NEXT 10 CLT:N=0 20 IF BTN()=0 CONT 25 N=N+1:?N:[N*3+1]=0:WS.LED N:IF N=16 T=TICK():?T/60;".";T/6%10:GOTO50 30 IF BTN()=1 CONT 40 GOTO 20 50 IF T<=60 FOR I=1 TO 16:OUT1:WAIT3:OUT0:WAIT3:NEXT 60 WAIT 180 70 RUN

16連射にあやかって、16コのウイルスをすばやい連射で撃退するゲーム、1秒以内に倒せたら拍手が起こるようにした改造バージョン!

会場では、うまく通信できなかったMixJuiceを使った無線LAN通信。プログラミングに少し自身がついてきたらチャレンジしてほしいネットワークを使ったプログラム!社会がみなさんの活躍を待ってます!

COVID-19 Japan 新型コロナウイルスダッシュボード」のデータはどこから来ているのか?どのようにできているのか?実はぜんぶ書いてあります。TXTをクリックすると表示されるシンプルなデータ。これはIchigoJam x MixJuiceなど、小さなコンピューター用に用意したデータ形式。GitHubでJavaScriptのプログラムも見放題、活用し放題!(参考、小中学生でも貢献できる! IchigoJam/MixJuice用、新型コロナウイルス状況オープンデータ取得API東京都編

いよいよ、審査結果発表。ベーマガ創始者で現役、電波新聞社、大橋編集長からも講評!

今回、協賛賞は事前に発表。協賛いただいた会社の方からのコメントを作者の方にお届けし、もらった喜びのコメントをご紹介。感動!

高橋名人からもコメントいただきました!

高橋名人特別賞!「スーパーちゃくち」の小学2年生開発者の橋尾海君、サイン色紙をお届けします!

小中学絵師だってVRアプリが作れる時代。

無線LANボード、MixJuiceを使った、IchigoJamでもパソコンやスマホを持っている人と交流できる「IchigoChat by 中学3年生チーム」。こども自身による、こども同士が協力できる場、ステキ!

会場に行きたいけど行けない、配信があってもその場とオンラインの差はどうしても出てしまうので、みんな同じ条件という、いい面もある。 ライブを見ているこども同士での交流の場をうまく作ったり、作品をバーチャルに見て回れるVR開催とかもいいかも。

世界中でプログラミング好きのこども、つくろう、つなげよう!

links
- PCNプロコン2020 ノミネート作品 | 高橋名人オフィシャルブログ「16連射のつぶやき」Powered by Ameba福井へ福井にて
- PCNこどもプロコン2018 | PCN プログラミング クラブ ネットワーク



小中学生によるソフトウェアと電子工作のコンテスト「PCNこどもプロコン」いよいよ3/29日曜日、9:15、配信スタート。 新型コロナウイルス対策で、少人数運営、無観客配信イベントとなりましたが、力作揃いのノミネート作品、しっかり審査、紹介しますよ!


ハピリンの能舞台!


机、パネルを並べよう。プログラミングならループで一発。でも、体を動かしてコンピューターの気持ちになるのも楽しい!


丁寧に梱包された作品。


設置、完了!


スイッチで豆電球がつく回路。IchigoJamの光センサーが感知して動く仕組み!


IchigoJamにつながったバット?


なんと、改造されてスイッチになっています。部屋の中でも、体を動かす野球ゲーム!


IchigoJamのキーボード端子から電源をとって、数珠つなぎにするという技!
IchigoJamを3台使った力作、気が付かなかった!確かにそう。ありがとう!!


ソフトウェア部門のゲームもいいところ見せるべく、やり込みます。


IchigoJamとネットワークを使ったチャット!


並べ終わり!


配信に備えたリハーサル!


12時からは福野によるライブコーディング!
新型コロナウイルスダッシュボード」にリンクを加えた、IchigoJam / MixJuice用 TXT API の使い方も紹介します!
お楽しみに!


PCNは、新型コロナに負けない!

PCNチャンネル - YouTube
2020-03-29 09:15 配信スタート!

I update the COVID-19 Japan dashboard app with English text!
You can check the data about COVID-19 from Ministry of Health, Labour and Welfare in Japan.
"About Coronavirus Disease 2019 (COVID-19)"


COVID-19 Japan Anti-Coronavirus Dashboard
The following is part of code of translate Japanese to English.

const TX = { '新型コロナウイルス対策ダッシュボード': { 'en': 'Anti-Coronavirus Dashboard' }, '自治体、医療機関の方へ' : { 'en': 'For local governments and medical institutions,' }, '新型コロナウイルス対策の感染症病床のデータ提供お願いします': { 'en': 'Please provide data of bed for infection.' }, // -- // contents.innerHTML = tx(contents.innerHTML)

If you found a wrong translation, please contact me.
Welcome to write issues! And welcome to send us pull-request! (src on GitHub)


COVID-19 新型コロナウイルス対策ダッシュボード
Japanese version is available on same URL.


Yout can choose languages.
Tips: QR code is useful to share!

<img id=qrcode><script>addEventListener("load", () => qrcode.src = "https://chart.apis.google.com/chart?chs=140x140&cht=qr&chl=" + encodeURIComponent(document.location))</script><br>

Let's code!

links
- COVID-19 Global Hackathon 1.0: #BuildforCOVID19 Global Online Hackathon - Devpost

現役高専生エンジニアとオンラインハッカソン試行版、テーマは「新型コロナ対策」。10時にzoomで顔合わせ、オープンデータとアイデアの創り方をレクチャー、今日つくるアイデアを決定。

「アイデア = 誰かがほしいもの x 自分がつくれるもの」

まずは手が届くものから、ひとつひとつ作りながら、作れるものの幅、広げましょう!


オンラインでもいろんな人が集まるとアイデア弾む!いい感じにまとまってきたところで、アジャイルチーム開発の一種「スクラム」をレクチャー。 ランチ休憩後、いちばん大事な誰のための何を目的としたどういうものかを端的に文章「ビジョン」の決定からスタート。チームメンバーは誰もが空で言えるくらい、ステキなビジョンを創りましょう。


ビジョンを構成する機能単位でプロダクトバックログを作成し、優先順位の高い順に並べます。十分に合意ができたら、上から順にタスクに分解、誰が担当するか決めるスプリント計画して、開発開始!今回のスプリントは超短縮版で1時間!

1スプリント終わったら、zoomでスプリントレビュー、発見や反省は、次のスプリント計画に活かします。レビューと計画に30分かかりました。3スプリント目に全員のタスク分がひとつにまとまるところまで開発できました。 最後に今日1日の「ふりかえり」、良かったこと(Keep)、問題点(Promlem)、次どうするか?(Try)のKPTを使いました。

参加した高専生、勉強と刺激になった1日となったようで何より!

ここからは個人作業。Facebookで情報もらっていた、人工呼吸器やECOMOのデータ、連絡すると許諾のご返信が!早速、ダッシュボードに組み込んでみました。

COVID-19 Japan - 新型コロナウイルス対策ダッシュボード
人工呼吸器およびECMO装置の取扱台数等に関する緊急調査の結果について | 公益社団法人 日本臨床工学技士会」には、2020年2月と最近調査された、都道府県別の総CE数、人工呼吸器数、COVID-19の重症患者を救う鍵ECMOの数が記載されています。

機材の使用に欠かせないという、CE(=臨床工学技士、Clinical Engineering Technologist、Clinical Engineer)、医療現場でも活躍エンジニア!

今回アプリ上での使用を許諾いただきました、一般社団法人 日本呼吸療法医学会さん、公益社団法人 日本臨床工学技士会さん、ありがとうございます!


COVID-19 Japan - 新型コロナウイルス対策ダッシュボード
福井県でも陽性者数、じわじわと増加。CEは106人、人工呼吸器は208台、ECMOは6台。対応できる数には限りがあることを知っておきましょう。Faceobookシェア数2.5万。

ITmediaさんからの取材、ご紹介いただきました。
「ひっ迫した状況が一目瞭然」新型コロナ病床数まとめサイト、大反響に「バグを疑った」と開発者仰天 “医療現場の声”励みにスピード公開 - ITmedia NEWS
シビックテックとオープンソースがオープンデータを大きく発展させ、より強い社会を創るでしょう!

links
- sakurum/covid19-tokushima: 徳島県民一人一人がコロナにまけんための情報提供と情報共有ができるサイト

データ提供いただいた4都道府県分の感染症病床数データをダッシュボードに反映。データがない部分の今まで通り、1年前公開の厚生労働省データを使っています。(src on GitHub

COVID-19 JAPAN - 新型コロナウイルス対策ダッシュボード」FBシェア1.6万!
北海道、兵庫県で大幅増床。福井県は結核病床の転用で、48床確保。茨城県は先手を打って200床。東京からの受け入れありうるかも?


病床種チェックボックスを使って、新型コロナウイルス対策感染症のデータのみで表示するとデータ提供元がよく分かります。

引き続き、データ提供、お待ちしています!
自治体・医療機関の方、新型コロナウイルス対策感染症病床数の一次データの公開おねがいします → アプリ化します!

Raw Data Now!(求む、一次情報)
Tim Berners-Lee: ティム・バーナーズ=リー 「オープンデータとマッシュアップで変わる世界」 | TED Talk

日々変化している今、地域ごとの現在患者数と感染病床数のリアルタイムな把握が、医療現場、行政、市民いずれにおいても重要です。

COVID-19 Japan 新型コロナウイルス対策ダッシュボード」が、大きく広がりFacebookのシェア1万、アクセス急増にも急遽対策。データとアプリの力を感じます。

「感染病床使用率」を推定するための病床数の拡大のニュースが続いていますが、確定的な数が分かる例はまだ少ないです。(福井県庁は、結核病床を使うと発表)


COVID-19 Japan - 都道府県別 感染症病床数(カラム地図7x7、厚生労働省データ)
こちら、ダッシュボードでの感染症病床使用率の算出に使っている、感染症病床がある医療機関とその数をまとめたアプリです。 厚生労働省が公開しているデータ「感染症指定医療機関の指定状況(平成31年4月1日現在)|厚生労働省」を使用しています。JSON化したものをダウンロード・二次利用いただけます。

ダッシュボードに追加される病床数を反映させるべく、病床数データを集めたいと思います。


新型コロナウイルス感染症病床数
どなたでも編集可能な Google SpreadSheet にて、オープンに募集します。出典はできれば一次情報元のサイトでお願いします。削除もできてしまいますが、しないでいただくとうれしいです。

また、より市区町村単位などより細かな単位で状況を把握するためのカラム地図の整備も進んでいます!こちらも協力者、大募集中。
日本全国だけでなく各地域ごとにカラム地図を事前に作っておくことが大事だと噛み締めている。 by 古橋 大地さん」(都道府県版、作成ボランティア募集中


COVID-19 Japan - 新型コロナウイルス対策ダッシュボード
現在患者数が増加してしまいました。病床数不足にどう対応するか、近隣の状況を含めた把握、ひとりひとりの感染防止策が重要です。


都道府県をクリックまたはタップすると、円グラフで詳細表示と、公式サイトやもしあればアプリへのリンクを追加しました。厚生労働省データへの反映にはタイムラグがあることが分かります。

必要な情報がすばやく正確に伝わるダッシュボード構築には、各自治体、各医療機関など、それぞれが必要とされるデータを一次情報としてオープンデータ化すればOKです。

ご相談、FacebookTitterにてお受けします。
オープンデータ伝道師 / Code for Sabae / jig.jp 創業者&取締役会長 福野泰介

links
- COVID-19 Japan - 新型コロナウイルス対策ダッシュボード
- 立ち上がろう高専生、今すぐできる技術貢献、日本政府xシビックテック、民間支援情報ナビプロジェクト「VS COVID19」経産省&総務省から発表!ウイルス対策サイト福井版も

福井県での初感染者発表で言及された感染症病床数。厚生労働省に全国都道府県別のデータがありました。 「感染症指定医療機関の指定状況(平成31年4月1日現在)|厚生労働省
※ 政府オープンデータカタログ data.go.jp は3/23 8:00までメンテナンスでした。痛い。


COVID-19 JAPAN - 都道府県別 感染症病床数(カラム地図7x7、厚生労働省データ)
もしかしたら、使いやすいオープンデータがあったかもしれませんが、急ぐので公開されているHTMLからJSON化するプロラムを作って、アプリ化。


感染症指定医療機関の指定状況(平成31年4月1日現在)|厚生労働省
こちらがデータ出典元のサイトです。

<!-- ここから内容 --> <h2>感染症指定医療機関の指定状況(平成31年4月1日現在)</h2> <h4>○特定感染症指定医療機関 : 4医療機関(10床)&nbsp; <script type="text/javascript">dateCH("2015","4","1");</script></h4> <table class="table1"> <thead> <tr> <th scope="col">病院名</th> <th scope="col">病床数</th> <th scope="col">所在地</th> </tr> </thead> <tr> <td> 成田赤十字病院 </td> <td class="center"> 2床 </td> <td> 千葉県 </td> </tr>

このようにHTMLで書かれたデータを、プログラムで文字列処理して、構造化したデータへと変換します。JavaScriptのプログラムの一部抜き出すと、こんな感じです。(オープンソースのライブラリ cheerio 使用)

const parseTable = function(dom, tbl) { let state = 0 const res = [] const head = [] dom('tr', '', tbl).each((idx, ele) => { if (state == 0) { dom('th', '', ele).each((idx, ele) => { head.push(filterElement(dom(ele).text())) }) state = 1 } else { const data = {} dom('td', '', ele).each((idx, ele) => { data[head[idx]] = filterElement(dom(ele).text()) }) res.push(data) } }) return res }

定期的にウェブサイトをチェックし、更新があれば自動反映します。ただし、HTMLの書き方が大きく変わると変換プログラムを手直しする必要がでてきます。 こうしてできたJSON形式のデータの一部がこちら

total: { sum: 5809, sumi: 5373, sumt: 10, sum1: 103, sum2: 1758, sumk: 3502, sums: 436 }

計算済みの合計値を使ったり、都道府県別のデータを使ったり、アプリですぐに活用できる、3つ星オープンデータができました。詳しくは、ソース bedforinfection.js を参照ください。


COVID-19 JAPAN - 都道府県別 新型コロナウイルス陽性患者数 (カラム地図7x7、厚生労働省データ)
Code for Japan による、#StopCOVID19JP の掛け声の元、地域展開が進む新型コロナウイルス対策サイト。この度、厚生労働省データを纏めて作った「COVID-19 Japan」にルートのドメイン stopcovid19.jp を振ってもらいました!

感染状況を注目するにあたって、今回取得した各地の地域内の感染症病床数がひとつの防衛ラインになるように思うので、その割合での表示にしてみたいと思いますが、多くの目に触れるアプリになっているので、意見を聞いてみてからの反映にします。

このアプリも、Code for Sabae の GitHub にて、オープンライセンスで公開しているオープンソースです。自由に活用、意見送付、プルリクいただければとうれしいです!

links
- 病床使用率をモニタリング!福井で初の感染者、感染症病床数は48、みんなで打ち勝つ新型コロナ、Let's Code for 地元!

新型コロナウイルスによる医療崩壊を避けなければなりません。そのためには、地域でのひとりひとりの行動が大事!プログラムを書いたり、アプリをデザインしたり、地域のみんなで状況を把握するアプリを作り、信頼できる一次データを多くの人に伝えましょう!

福井県福井市で初の新型コロナウイルス感染者確認と報道あり。 一次情報「新型コロナウイルス感染症の患者の発生について新型コロナウイルス感染症について | 福井県ホームページ)」に、新たな重要データを発見。

3 患者受入れの医療体制の確保
・感染症指定医療機関の結核病床を感染症病床として活用開始
既存の感染症病床 20 床 + 結核病床 28 床 = 48 床
現在使用数は不明ながら、この数を上回る入院患者が出るとまずそうなので、こちらの数値をモニタリングするアプリへと改良。

COVID-19 Fukui - 福井県 新型コロナウイルス対策ダッシュボード
JavaScriptできれいなグラフを作るライブラリ「Chart.js」を使って、円グラフを用意しました。母数を病床数に、現在患者数を仮に使用率として表示しています。 2週間、14日の入院が必要だとすると、1日に3.4人以上のペースで患者が増えると溢れてしまう計算です。


「ホーム画面に追加」用に、アイコンも用意しました。256x256のPNG画像です。アイコン内のグラフは自動的に更新されません。(でも、できたらうれしい)


COVID-19 Japan - 日本 新型コロナウイルス対策ダッシュボード
厚生労働省には福井県の感染者データがまだ伝わっていないようです。現在患者数は648。日本全体に感染症病床はいくつあるのか?それぞれの都道府県には? それぞれの地域での行政と民間との連携が必要です。

東京都のオープンソースを活用した新型コロナウイルス感染症対策サイトの紹介 | 政府CIOポータル」にて、掲載された新型コロナウイルス対策サイト一覧(HTML)を、スクレイピングし、JSON化し、それぞれの都道府県をタップすることで飛べるように変更しました。(src on GitHub)

ただし、HTMLの表記方法が変わると動かなくなってしまう恐れがあります。春のjigインターンで開発した、schema.orgなど、標準語彙とitemtype/itempropを使った適切なマークアップが望まれます。(参考、サイトをエンジニアフレンドリーにしよう!robots.txt / sitemap.xml / itemscope / opensearch で機会判読可能に改良する


新型コロナウイルス感染症に関連する情報について/京都府ホームページ
京都府のデータ提供の方法が変わった様子。1つ星オープンデータとなる、画像によって、検査人数、陽性数が提供されているので、OCRを使用し、JSON-API化してみましたが、読み取り精度がいまいちなので、継続的な使用には不安があります。こちらも語彙のマークアップ化か、CSV化、PDF化、HTML化してほしいところですね。(src on GitHub)

必要データと問い合わせ、オープンデータ化の要望、データを使った考察、表現、アプリ化など。できることから始めましょう!

Let's Code for 地元!
地域の高専生や、プログラミングできる小中学生、出番です!
Twitterにてサポートします!(@taisukef)

links
- はじめてのウェブサービス、3分でわかるJavaScriptでつくる「チャット」の流れとチュートリアル Node.js編

新型コロナウイルス対策、一番大事なのは医療崩壊を防ぐこと。現在患者数の増加するか否かをチェックしたいですね。画像データ(1つ星オープンデータ)として提供される、厚生労働省の提供の現在患者数をOCRを使ってJSON-API化し、アプリに反映させました。


COVID-19 JAPAN - 都道府県別 新型コロナウイルス陽性患者数 (カラム地図7x7、厚生労働省データ)
都道府県別のPCR検査状況データもPDFであったので、こちらもAPI化して、検査陽性率を都道府県別に表示するように改良しました。スマホでもデスクトップでも見やすく、レイアウトも調整。


こちらが前々日と前日の厚生労働省提供の画像、みなし1つ星オープンデータです。左右、レイアウトが若干違うことがわかります。解像度も異なったりするので、何人かの担当者がパワポを手動で作って画像化し、ウェブサイトにアップしているのでしょう。 なので、自動化していますがちゃんと動き続ける保証できないのが痛いところです。

APIはこちら (API src on GitHub for Node.js / JavaScript)

https://app.sabae.cc/api/covid19japan_summary.json https://app.sabae.cc/api/covid19japan.json?type=withpcr https://app.sabae.cc/api/covid19japan.json

withpcrとそうでないもの、データの条件が違うので、陽性患者数が異なります。詳しくは、元データをご参照ください。

OCRは、GitHubでオープンソースとして公開されている「Tesseract」を使いました。img2text.js として使っています。 なかなかいい感じですが、月日などが入っていたり、切り方によっては誤認識してしまう様子。認識範囲を数字だけに限定して、精度をもっと上げてみたいところです。

IchigoJam+MixJuiceなど、マイコンで使いやすいテキストバージョンもどうぞ!

https://app.sabae.cc/api/covid19japan_summary.txt https://app.sabae.cc/api/covid19japan.txt


codeforyouth/vs-covid19: VS COVID-19 企業による支援リストsrc on GitHub
#民間支援情報ナビ を Code for Youth がフォークして、TypeScript化されました!


COVID-19 Fukui - 福井県 新型コロナウイルスオープンデータサマリー
中学生からのプルリク!自動更新機能と、手動更新できるボタンが追加されました。

ネットがあればどこからでも、年令・職業問わず貢献できるネットの良いところ!
世界中のイベントがオンライン化しているので、気軽に参加できるようになっているなど、大きくネット活用社会への移行が進みそう。

三重県、鳥羽商船高専生4人チームによる三重県版新型コロナウイルス対策サイトもスタート!(forked from 都内の最新感染動向 | 東京都 新型コロナウイルス対策サイト src on GitHub

全国展開に向けて、厚生労働省が提供しているデータを使ってざっくり状況を確認できるようにしてみました。自動更新されるJSONを使って地元の対策サイト立ち上げに使ってみてください。ただし、データ更新は都道府県での情報提供の方が更新は早そうです。


COVID-19 JAPAN - 都道府県別 新型コロナウイルス陽性患者数 (カラム地図7x7、厚生労働省データ)

厚生労働省による「新型コロナウイルス感染症について」では、PDFで国内の発生状況をまとめたデータが提供されていますが、各地のデータと比べるとちょっと時差があるようですが、網羅的にデータがあるのがうれしいです。

PDFは1つ星オープンデータですが、中身は画像ではなくテキストなので、比較的簡単にデータは取り出せます。Popplerを使ってテキストを抽出し、JSONデータ化するAPIの運用をスタートしました。(JSON, TXT for IchigoJam / MixJuice など)

https://app.sabae.cc/api/covid19japan.json https://app.sabae.cc/api/covid19japan.txt

PDFはウェブサイトが更新されるたびにファイル名が変更になるので、1時間ごとにスクレイピングして更新があったら自動的に更新するようにしてあります。詳細は、APIのプログラムをご参照ください (covid19japan.js on GitHub)

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