福野泰介の一日一創 - create every day

京福バスでも活躍、月額60円のIoTサービス、sakura.ioのデータストア機能を使えば、サーバーを契約することなくリアルタイム位置表示システムを公開できます。 町内のおまつり、お神輿が今どこにいるかをリアルタイム表示システム2019年版!(昨年版


お神輿に設置するだけ簡単、神輿なう!(ジッパー式の袋に入れておけば突然の雨にも安心)

準備するもの
- GPS受信機(AE-GYSFDMAXB or GT-902PMGG(U-BLOX)
- IchigoSoda (IchigoJam 1.4βファームウェア)
- sakura.ioモジュール
- webサーバー or GitHubアカウント
- GoogleマップAPIのアカウント

GPS受信機の初期設定をします。IchigoJamに下記どちらかをいれます
GT-902PMGG(U-BLOX)の場合

20 BPS9600:UART3 30 ?"$PUBX,40,GSA,0,0,0,0,0,0*4E" 40 ?"$PUBX,40,GLL,0,0,0,0,0,0*5C" 50 ?"$PUBX,40,GGA,0,0,0,0,0,0*5A" 60 ?"$PUBX,40,GSV,0,0,0,0,0,0*59" 70 ?"$PUBX,40,VTG,0,0,0,0,0,0*5E" 80 ?"$PUBX,40,RMC,0,3,0,0,0,0*44"

GYSFDMAXBの場合

20 BPS9600:UART3 30 ?"$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"

SAVE0して、一度電源を切り、GPSの送受信(TXD/RXD)をIchigoJamに接続し、ボタンを押しながら電源を入れます。
画面に1秒おきに何かデータがでてきたらOK!(日当たりが良いところに持っていってしばらくすると、緯度経度も出るようになります)

GPSの接続に、チームIchigoJamほっかいどうのIchigoSensors2を使いました。

緯度経度をネットに送信するため、sakura.ioモジュールをIchigoSodaに接続し、下記のプログラムをいれ、SAVE0。

1 @ARUN'GPSSHARE for IchigoJam 1.4 10 VIDEO0:LED1:WAIT90*60:LED0 20 GSB@GPS:D=[4]-[91]:E=[6]-[93]:IF(ABS(D)+ABS(E)%10000)<60 CONT 30 IOT.OUT#806,8:LET[90],[3],[4],[5],[6] 40 LED1:WAIT5:LED0 50 WAIT60*5 60 GOTO20 'get GPS data 300 @GPS:CLS:BPS9600:UART3,2 301 K=INKEY():IF!KCONT 304 IFK!=36GOTO300 305 K=INKEY():IF!KCONT 306 IFK!=71GOTO300 308 K=INKEY():IF!KCONT 309 IFK!=42?CHR$(K);:GOTO308 310 UART0,0:P=#900 320 GSB@P:M=2:GSB@N:[1]=N:GSB@P:[2]=N:GSB@P:GSB@P:GSB@P:[3]=N:IFCGSB@P:[4]=N:ELSE[4]=0 330 GSB@P:GSB@P:[5]=N:IFCGSB@P:[6]=N:ELSE[6]=0 340 GSB@P:GSB@P:[7]=N:GSB@P:GSB@P:GSB@P:GSB@N:[1]=[1]+N*100:GSB@P:[0]=N:RTN 'parse 500 @P:N=0 510 C=ASC(P):P=P+1:IF!C||C=44||C=46||C=34C=C=46:RTN 520 IFC>=48&&C<=57N=N*10+C-48 530 GOTO510 540 @N:N=0:IFASC(P)=44RTNELSEFORI=1TOM:N=N*10+ASC(P)-48:P=P+1:NEXT:RTN

モバイルバッテリーなどとつないで、電源を入れたら通信が確立する1分半後くらいからデータ送信が始まります。
動きがないと送信しない、省エネ設計(20行)
送信後5秒待つ設定(50行)にしていますが、好みの調整しましょう。
IOT.OUT#806,8,0 で、キューにためておき、IOT.OUT0,0,1 で溜まっているデータをまとめて送信するのも手です。

通信モジュールを、sakura.ioのコントロールパネルから登録、作成したプロジェクトの中、連携サービスにデータストアを追加し、トークン(Token)を取得しましょう。 無料で、過去40日間分のそのモジュールから送信されたデータが取得可能。
データストア連携した画面に表示される、URL(v1/v1/ とかぶっているのを1つに編集)を開けば、データが見えます!

https://api.sakura.io/datastore/v1/channels?token=xxxxxx-xxxx-xxx-xxxx-xxxxxx

表示アプリ「神輿なう」をForkするかダウンロードします。(src on GitHub
index.html を編集して、GoogleマップのAPIキー、sakura.ioのデータストアAPIのトークンをセットします。
これで位置が表示されるようになります!

カスタマイズ!
- スタートや、ゴール、休憩場所などのアイコンをセットするには、POIを編集します。(緯度経度地図が便利です)
- 開始時刻(START_DT)、終了時刻(END_DT)をセットすると余計なデータが表示されなくなります。
- HTML/CSSをいじってオリジナルアプリに!

身近で役立つIoT、おもしろIoTにご活用ください!

links
- 京福バスにデプロイ、IchigoJam! IchigoSensors版と sakura.io DataStore API での取得方法
- 開会式前に福井国体スタート!IoTシャトルバス稼働現場と稼働実績オープンデータ

Python編に続いて、国産言語Rubyでも、IchigoJamを制御してみましょう!

まずは、IchigoJamにUSBシリアルをつなぐか、IchigoKamuyを準備。
RubyでUSBシリアルを使うには、serialport gem を使います。

$ gem install serialport

USBシリアルのポート(port)を /dev/tty.〜 または COM3 などで指定し、LEDをつけるプログラム(test.rb)はこちら

require 'serialport' port = '/dev/tty.SLAB_USBtoUART' ser = SerialPort.new(port, 115200) ser.puts("LED1\n") p ser.gets

動かしてみましょう

$ ruby test.rb OK

光りました!(USBシリアルの制御、PythonよりRubyの方が短くわかりやすく書けました)

クラス IchigoJam.rb を作って楽しましょう!

require 'serialport' class IchigoJam def initialize @port = '/dev/tty.SLAB_USBtoUART' @ser = SerialPort.new(@port, 115200) end def puts(s) @ser.puts(s) end def gets @ser.gets end end

あとはこのクラスを使い回せばOKです!(@portに設定する値は、お使いの環境に合わせて書き換えてください)

LEDを1秒光らせる、Ruby編はこちら。

require './IchigoJam' ser = IchigoJam.new ser.puts("LED1\n") puts ser.gets ser.puts("WAIT60\n") puts ser.gets ser.puts("LED0\n") puts ser.gets

コマンドラインで気軽に使える command.rb を用意して

require './IchigoJam' ser = IchigoJam.new ser.puts("#{ARGV[0]}\n") puts ser.gets

1行、かんたんハードウェア制御!

$ ruby command.rb LED1

ちょっと複雑な例、IchigoJam BASICのプログラムを転送し、PCの何かキーが押されたらESC信号を送って止めるRubyプログラム

require './IchigoJam' ser = IchigoJam.new ser.puts("1 LED1:WAIT10\n") ser.puts("2 LED0:WAIT10\n") ser.puts("3 GOTO1\n") ser.puts("RUN\n") require 'io/console' key = STDIN.getch ser.puts("\x1b") # ESC puts ser.gets

いろいろ自在にできますね!

IchigoJam 1.4βファームウェアを使えば、マイコン内蔵フルカラーLEDのまとめて制御もこのように簡単!(リファレンス

$ ruby command.rb 'LET[0],0,10,0:WS.LED1,50'


ネットで取得したデータと組み合わせれば、派手なお知らせが実装できますね!
その他、いろいろサンプルプログラム in Ruby はこちら。
IchigoJam/IchigoJam-control-by-ruby: IchigoJam control by Ruby

PythonでもRubyでもJavaScriptでも、得意な言語で楽しいハードウェアの世界をのぞいてみましょう!
Rubyなら、IchigoJamマイコン上でも動く、Ruby on Jam もあります。

links
- Pythonで操るフルカラーLED50コ、USBシリアル x IchigoJam x Python編!
- IchigoJamでパソコンとUSBシリアル通信。Node.jsを使うとキーボードとモニタいらず – しずかなかずし
- 実機転送実行まで1秒! Ruby on Jam でサクサク楽しい組み込みアジャイル開発

2019年度の人気プログラミング言語ナンバーワンのPythonGitHubのアクティブでも不動の1位、PC上のPythonを使ってIchigoJamをコントロールして、かんたんIoTを実現してみましょう!

ネットにつながっているPC、Pythonを使えば世界中のさまざまなデータをAPI経由、スクライピングなどで、取得し放題。
Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! | 森 巧尚 | コンピュータ・IT | Kindleストア | Amazon」(まもなく登場!1年生はこちら

でも、PCではデバイスやセンサーなどを直接制御はできません。
そこで、それら電子部品の制御が得意なIchigoJamとUSBシリアルでつないでいいとこどり。

IchigoJamにUSBシリアルをつなぐか、IchigoKamuyを使って、PCに接続したら、Python用シリアル通信ライブラリ「pySerial」をセットアップ

pip3 install pyserial

USBシリアルのポート(port)を /dev/tty.〜 または COM3 などで指定し、LEDをつけるプログラムはこちら(シリアルを閉じる前に0.1秒待ちをいれてます)

import serial import time port = '/dev/tty.SLAB_USBtoUART' ser = serial.Serial(port, 115200) ser.write(b'LED1\n') time.sleep(0.1) ser.close()

好きなコマンドをIchigoJamへ送って、結果を1行表示するPythonプログラムをつくって

import serial import time import sys port = '/dev/tty.SLAB_USBtoUART' ser = serial.Serial(port, 115200) ser.write(sys.argv[1].encode('utf-8')) ser.write(b'\x0a') print(ser.readline().decode('utf-8')) time.sleep(0.1) ser.close()

IchigoJamコマンドをPCのコンソールから自由自在に送信可能!(例、LEDオフ、出力ポート制御、アナログ入力、サーボ制御)

python3 command.py 'LED0' python3 command.py 'OUT1,1:WAIT60:OUT1,0' python3 command.py '?ANA(2)' python3 command.py 'PWM2,100'

IchigoJam 1.4βファームウェアを使えば、マイコン内蔵フルカラーLEDのまとめて制御もこのように簡単!(リファレンス

python3 command.py 'LET[0],10,0,0:WS.LED1,50'


ネットで取得したデータに合わせて派手にお知らせできますね!
その他、いろいろサンプルプログラム in Python はこちら
IchigoJam/IchigoJam-control-by-python: IchigoJam control by Python

links
- Rubyで操るフルカラーLED50コ、USBシリアル x IchigoJam x Ruby編!
- IchigoJamでパソコンとUSBシリアル通信。Node.jsを使うとキーボードとモニタいらず – しずかなかずし

Hana道場のIchigoJamキッズが組み立てたいちごロケをいよいよ京福バスに載せます!
作ったソフト、ハードを実際に社会に出すことを、デプロイ(deploy)と呼ぶ、緊張とワクワクの瞬間です。

こちらのバスにて実験です


Hana道場のIchigoJam用スケルトンケース


ケース装着!


結束バンドで留めるのが便利!


GPSアンテナに磁石がついているので金属製のミラー裏にぴったり


IchigoJam、京福バスに載りました!


福井のイオン的なショッピングセンター、エルパを結ぶバスにも!


USB口から1mのmicroUSBケーブルで給電。室内ミラー裏に留められてます。


GPSアンテナはこちら!


ばっちり3台、動いてます!ブレの無いキレイな奇跡!(image by @Sujiya_System


時刻表データと重ね合わせて、運行の無理無駄を省き、効率化&楽しいバス実現!(image by @Sujiya_System

いろいろ応用したくなる、リアルタイム位置トラック。
sakura.io の DataStore API を使えば、サーバーレスで過去40日分までさかのぼってデータが見られます!

sakura.ioのコントロールパネルの連携サービス追加で「Datastore API」を選択。
今ならライトプランが無料で使え、データが公開されるフリープランができたら、そちらへの移行が可能な見込みです。

APIの使い方は簡単、発行されるトークンを使って、REST APIを呼び出し、JSONを受け取るだけ!(sakura.io DataStore API

https://api.sakura.io/datastore/v1/channels?token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

いちごロケのデータは、16進法化された時間と緯度経度のデータが1レコード12byteで表現されています。
こちらを地図へプロットすればOK!(近日、公開します!)

IchigoSonserやIchigoSensors2で簡単装備できるGPSを使った「いちごロケ」は、ファイル0をこちらに変更でOKです。
GPS受信機キット 1PPS出力付き 「みちびき」3機受信対応

'FILE0 1 @ARUN:?"IchigoLoca":WAIT180 10 'GYSFDMAXB 20 LED1:BPS9600:CLS:CLV:UART3 30 ?"$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29" 90 UART0,1:CLS:LRUN1 SAVE0

FILE1は同じものでOK)

最初は位置測位するまで数分空が見えるところにおいておきましょう。LEDが1秒置き点滅が始まったら即位完了。あとはデータが勝手にたまっていきます。 活用、自由!

3週間の高専インターンもいよいよ大詰め、金曜日にデプロイできる!?

スプリントレビュー#3。できあがりをみんなで確認、KPT+感謝でふりかえり。


お昼には、ちょっと休憩、西山公園&西山動物園!


心地よい天気!


鯖江ならではのアイス。


成果発表会は金曜16時半@めがね会館から、お楽しみに!
jigインターン2019 - 18日目 限界開発! - jigintern2019のブログ

福井市を走る京福バス x バスのダイヤ編成支援システム「その筋屋」 x こどもパソコンIchigoJam x 月60円IoTさくらインターネット「sakura.io」 x オープンイノベーション道場「Hana道場」の新タッグ!

ウェアラブル実験で判明した、定時運行できないことのストレスは待つ人だけでなく、運転手さんにもかかっていた事実。リアルタイムにバスの場所を特定し、待つ人にゆとりを提供し、その記録を活用することで、無理なくスムーズなダイヤ編成を実現できれば、運転手さん、事業者もうれしい!
SAP×NTTグループ「hitoe(R)」の計測で判明! バスドライバーが1番緊張する場面とは? | 高速バス・夜行バスの旅行・観光メディア [バスとりっぷ]

その筋屋開発の本格リアルタイムバスロケシステム「いちごロケ」、小松空港、永平寺、福井駅を結ぶ京福バス実証実験用の3台を、Hana道場に通うこどもたちが組み立て!組み立て方と合わせてその様子を紹介。

完成した「いちごロケ」を自慢するこどもたち!

材料
- IchigoSoda 5,000円(税抜)
- sakura.ioモジュール 8,000円(税抜) *販売再開をお待ち下さい
- GPS/GLONASS受信機(Galileo/BeiDou可) u-box M8搭載 みちびき3機受信対応 2,480円
- ピンヘッダー(オスL型) 1x40 50円
- microUSBケーブル
- USB 5V電源(モバイルバッテリーなど、1A以上推奨)
(他、プログラム書き込み用にUSBシリアル、または、キーボード・テレビ)

モバイルバッテリーで動かせば、どこでもリアルタイムに位置情報を格安トラック!
プログラムはオープンソース、バス以外への応用もどうぞ!


実証事業を手伝ってくれるのは、Hana道場に毎週水曜日に通う、こどもたち、小5一人と小3二人!


ニッパーを使って、GPSで使わない茶色の線をカット。続いて、L字ピンヘッダーを14ピンにカット。


14ピンは、IoT対応の高級IchigoJam、IchigoSodaのCN4にピッタリサイズ。


今日はちょっと高度なはんだづけ。空中配線!
まずはL字ピンヘッダー側、使う4ピンに予備ハンダ(はんだをあらかじめのせておく技)、CN4の下から2本、4ピン飛ばして、また2本に。 続いて、GPS側の線の先端も予備ハンダ。


GPSとIchigoJamとの接続は、GPSの線、黒:GND、赤:VCC、4ピン飛ばして、緑:TXD、橙:RXD


それぞれ予備ハンダしているので、くっつけて再度はんだごてで温めればOK!
隣同士くっつかないように、温めすぎないように、浅くなりすぎないように、バランスが難しいけど、要は慣れ。


今回はプログラムをIchigoROMからコピー!
LOAD/SAVE、キーボード操作はお手の物。


GPSデータ、受信できた!動作OK!


子供たちの作ったIoTデバイス「いちごロケ」動くの楽しみですね!

VLED勝手表彰にて最優秀賞、バス事業者向けフリーソフト「その筋屋
日本の公共交通の要「バス」にオープンな風を巻き起こす!

いちごロケ、プログラム IchigoJam BASIC (1.4β以降用) ライセンス CC BY Sujiya Systems

'FILE0 1 @ARUN:?"IchigoLoca":WAIT180 10 'U-BLOX 20 LED1:BPS9600:CLS:CLV:UART3 30 ?"$PUBX,40,GSA,0,0,0,0,0,0*4E" 40 ?"$PUBX,40,GLL,0,0,0,0,0,0*5C" 50 ?"$PUBX,40,GGA,0,0,0,0,0,0*5A" 60 ?"$PUBX,40,GSV,0,0,0,0,0,0*59" 70 ?"$PUBX,40,VTG,0,0,0,0,0,0*5E" 80 ?"$PUBX,40,RMC,0,3,0,0,0,0*44":UART0,1:CLS 90 LRUN1 SAVE0 NEW 'FILE1 10 'SUJIYA 20 CLS:CLV:U=99:?"v1.00":WAIT99:LED0 30 P=#700:H=0 40 A=0:B=0:Q=#780 50 K=INKEY():IF(K!=36)CONT 60 K=INKEY():A=A+K:B=B+1 70 IF(B<5)GOTO60 80 IF(B=5)&(A!=377)&(A!=375)GOTO40 90 B=0:F=0:D=0:E=0:J=0:S=0:I=0:T=0 100 FOR C=1 TO 46 110 K=INKEY():B=B+1:IF(K=44)F=F+1:G=0:I=0 120 IF(F=3)&(G>7)K=0 130 IF(K=46)|(I>0)I=I+1 140 IF(K=86)E=1 150 IF(K=65)J=1 160 IF(F=7)&(K>47)&(I<4)S=S*10+K-48 170 IF(F=1)&(G>5)|(K=78)GOTO110 180 IF(F=1)&(G>3)T=T*10+(K-48) 190 IF(K>47)D=D+1:G=G+1:IF(D<25)POKE Q,K:Q=Q+1 200 NEXT:LED0 210 IF(E=1)|(J=0)?"V":GOTO 40 220 D=0:?HEX$((P-#700)/12+1);".";:IF(S>100)H=1 230 FOR C=0 TO 23 240 E=PEEK(#780+C):IF(E=65)E=58 250 D=D*16+E-48:IF(C%2=1)&(C<8)?HEX$(D,2); 260 IF(C%2=1)POKE P,D:D=0:P=P+1 270 NEXT:?"-";S:G=0 280 IF (T%30>23)&((P-#700)%24=0)Z=1:?"<TIME> "; 290 IF(P<#778)&(Z=0)CLK:GOTO 40 300 U=U+1:IF(U>10)H=1:?"SEND "; 310 LED0:Z=0:IF(H=0)?"*SKIP":GOTO 30 320 IOT.OUT #700,P-#700:LED1:?" <IoT.OUT>":U=0 330 GOTO 30 SAVE1

(プログラム by ダイヤ編成支援システム「その筋屋」(@Sujiya_System))

あとは、sakura.ioのコントロールパネルで、受けとったGPSデータを自由に活用!
オープンデータ化も、プライベートに使うのも自由自在。
バス以外の用途にもどうぞ!

実際の京福バスへの実装編へ続く!
京福バスにデプロイ、IchigoJam! IchigoSensors版と sakura.io DataStore API での取得方法

眼鏡協会でのIoTデバイスづくり勉強会。鯖江市内に600社もあるメガネ関係会社。たくさんの製造機械が支えてます。

夜中もがんばる機械が止まってしまったことを、簡単に知りたい。そんなときに、IoT!

止まったことを検出したら「ALERT」と表示し、IoT通知!

動いているかどうかを調べるセンサーとして、加速度センサーを使ってみます。
秋月電子通商のセンサー一般」から「加速度センサー」を選択、安い順に並べた一番最初が「MMA8452Q使用3軸加速度センサーモジュールキット」でした。

キットといっても、ピンヘッダーをはんだ付けするだけで、ブレッドボードで使用可能!(ピンソケットをはんだづけすれば、ジャンパーワイヤのみでOK!)

I2Cで接続するMMA8452を使う電子工作は、モジュールの3.3V、SDA、SCL、GNDからジャンパーワイヤでIchigoJamのCN5の表記通りに接続するだけ!回路を見ると、モジュール内にI2C用のプルアップも実装されています(必要ない場合はパターンカット)。

加速度センサーの値はI2Cで取得します。電源をいれた状態ではセンサーがアクティブになっていないので、ONにしてから、X,Y,Z、3軸分の値を取得。ビッグエンディアンなので1byteずつ取得してリトルエンディアンに変換し、分解能は12bitなので16で割って取得完了!

10 POKE#700,#2A,1:IF I2CW(#1D,#700,2) STOP 20 A=#700:POKEA,0:R=I2CR(#1D,A,1,A,7) 30 FORI=0TO2:A=A+2:[I]=(PEEK(A-1)<<8|PEEK(A))/16:NEXT 40 ?[0],[1],[2] 50 GOTO20


加速度センサーの値が表示されました!デフォルトでは、1024が1Gを表し、プラスマイナス2Gまで計測できます。
詳細はデータシート参照。加速度のスケールの設定や、割り込みやなどいろいろ高度な使い方もできます。

振動が止まったら通知するために、加速度の差分をとり、絶対値の合計値を見て、しきい値100を下回る回数が100回を越えたらアラートするプログラムを作ってみます。

まずは加速度センサーを使う初期化と値取得をサブルーチン化

100 @GINIT:POKE#700,#2A,1:IF I2CW(#1D,#700,2) STOP ELSE RTN 110 @GGET:A=#700:POKEA,0:R=I2CR(#1D,A,1,A,7) 120 FORI=0TO2:A=A+2:[I]=(PEEK(A-1)<<8|PEEK(A))/16:NEXT:RTN

これを使って、加速度の差分を表示

10 GSB@GINIT 20 GSB@GGET:FORI=0TO2:[I+3]=[I]:NEXT 30 GSB@GGET:FORI=0TO2:[I+6]=[I]-[I+3]:NEXT 40 ?[6],[7],[8] 50 FORI=0TO2:[I+3]=[I]:NEXT 60 GOTO30

加速度の差分の絶対値の合計を表示

40 N=ABS([6])+ABS([7])+ABS([8]):?N

しきい値100を越えていたら振動している、つまり機械が動いていると判定しLEDをつける

45 LED N>100

最後に、止まっている時間をLループ分検出したら、ALERTと表示し、IOT通知

5 C=0:L=100 46 IF N<100 C=C+1 ELSE C=0 47 IF C>L LED1:?"ALERT!!":IOT.OUT 1:WAIT60

Let's 想像、身近なIoT!

(追記、150円高いけど簡単で高速、アナログ加速度センサーKXSC7-2050モジュールによる作例

今年からスタートした、高校版のミネルバ大学を目指す、インフィニティ国際学院ナビゲーターとして、昨年訪問したフィリピン、ターラック州の学校とネットでつないで講義予定。

(P87 勝てる場所チャートより)
ずっとやっていられるほど好きなもの、それは資質あり!
資質を生かして喜んでくれる人を探しましょう(ターゲット)
その場所で自分のスキルが活きる場所が勝てる場所。
スキルは学びで拡大可能、どんどん伸ばして深く、広く。


世界で学べ 2030に生き残るために」著書はインフィニティ国際学院の学院長で、八戸やフィリピンでもお世話になった、大谷さん(@MasakiOtani1)

学びが楽しめないという異常事態。
世界を知り、世界を創る人材を生み出すためにできることは何か?
見つめ直すきっかけになりました。


一番衝撃だったのがこちら。日本の大学生の課外学習時間、1日1時間未満が66.8%!?(世界で学べ P123より)
何を学修とするか、謙虚に言っているだけかなど疑問はありますが、大きな差。
データ出展となっている、社会生活基本調査、都道府県別などおもしろそうなオープンデータあり!
全国大学生調査(本調査2007年・追加調査2009年) - 大学経営・政策研究センター(CRUMP)」にある48233名の集計結果データもおもしろそう。

自己肯定感の比較グラフ 日本 45.8%、アメリカ 86.0% (P59 内閣府、平成26年度子ども・若者白書)
好きを生かしたスキルで何か創ろう!誰かに喜んでもらおう!自己肯定感の第一歩。

子どもたちはパソコンを使わなくなってしまいました。
キーボードを使わない → 伝達手段が画像や動画が主になる → 文字離れから複雑な文章の読解力が低下
→ 伝える側も動画を使う必要がある → ビジュアル・プレゼンテーションのノウハウとスキルが必要 (P66)
動画編集、プレゼンづくり、プログラミング、創る環境として、パソコンは最強!
知らずに使わないのはもったいない。

地方敗北主義 (P58)
初見の言葉!地元の良さに触れ、都会はいいぞステマに対抗しよう。

ビジネススキルトップ10 (2020年と前回との差)
1 複雑な問題解決力(-)
2 クリティカル・シンキング(+2)
3 創造力(+7)
4 人材管理(-1)
5 他者との調整力(-3)
6 情緒的知性(新)
7 決断力(+1)
8 サービス精神(-1)
9 交渉力(-4)
10 思考の柔軟性(新)
出展、世界経済フォーラム、職の未来に関する報告
真の課題をとらえ、創る力!
他者との調整力が3ランクダウンしているのがおもしろい。

「我々は常に、テクノロジーとリベラルアーツの交差点に立とうとしてきた。技術的に最高のものを作りたい。でもそれは直感的でなければならない。これらの「関連付け」がiPodを生み出した」。(P154)
いい言葉! いい技術を使えるだけでなく、それを活かす場所を知っていること!
(初版iPadとありましたが、きっとiPodの誤植)


鯖江にて大人の学びの場、眼鏡協会の技術研修会
「はじめてのIoTプログラミング IchigoJam x sakrua.io 編」


1時間半のIoTプログラミング、短めなサンプルとしてぴったり5秒を当てるゲームづくり。
RUNしてからちょうど5秒たったと思ったところでボタンを押すと、100点満点で点数がでます。(1フレーム(1/60秒)毎に1点減点)


なんと、1フレーム差、99点がでた!(上部100点はチート実験です)


IoTは、インターネットにつながるモノ。
インターネットは100億台のコンピューターによるネットワーク。
最小のネットワーク、2台のネットワークを使って体験しましょう!

2台をつなぐ通信プログラム(ボタンで会話)

10 ?BTN(),IN(1):OUT1,BTN() 20 WAIT6:GOTO10


挨拶してみる。数を送ってみる。ひらがなを送ってみる。絵を送ってみる。デジタル化できれば通信可能。
今回のプログラムはWAIT6なので、1秒間に10コの0か1を送れる、10bps。5Gは20Gbps。
コンピューター同士であれば、人間の200億倍のスピードで世界中をつないでしまうわけです。

「創ってみたい」は学びのチャンス!創ってみないと分からない、様々なこと。
大人も子供もみんなで学ぼう、地域ICTクラブ、Hana道場にもどうぞ!
「一日一創」もオススメです。

宇宙に向かってこどもと気球を飛ばしたり院内学級のこどもたちへのプログラミングきっかけづくりなど、挑戦するマインド育む企業合同CSR、KidsVenture。 本日は、さくらインターネット、大阪の本社にて親子IoTワークショップ&IoTを使った講師向け研修。


KidsVenture 大村代表のおはなしでスタート!親子IoTプログラミングワークショップ!
プログラミングはじめての小学生、LEDの制御、ゲームづくりを通じて、キーボードの使い方をおぼえていく。

こちら定番教材「かわくだりゲーム」をIoT化したもの。

10 CLT:CLS:X=15 20 LC X,5:?”c” 30 LC RND(32),23:?”eee” 35 WAIT 10-TICK()/120 36 X=X-BTN(28)+BTN(29)+IOT.IN() 37 X=X&31 39 IF SCR(X,5) IOT.OUT TICK():END 40 GOTO 20

スコアをネットに送り、スマホから操作もできます!


大阪、関西の強い味方、共立電子!さすがっ
パソコンづくりしたくなった人は、共立電子へGO!(東京ならAssemblage PCN秋葉原


ステキ作品できたら、ぜひPCNこどもプロコンまでぜひどうぞ!


続いて、講師向けIoT研修の研修!


ネットワークの基本、相互につないだジャンパーワイヤーで通信実験。1bitでどう想いを伝えるか!?


はじめてのIoTプログラミング with IchigoJam x sakura.io (IchigoSoda)
ワークショップでのフィードバックを加えた、スライド、GitHubにて公開!


IchigoJam ver1.4向けのマイコン内蔵フルカラーLEDの制御方法とIoT化など、いろいろ制御方法&IoT事例スライドとしてまとめてます。


懇親会でおもむろにはじまるはんだづけ。


データビジュアライズが熱い、最新モバイルVR、Oculus Questも超人気!大型ディスプレイに映すとみんなで楽しい。
プロジェクターにIchigoJamの画面を映して、大喜利イベント、今度やってみましょう!


さくらインターネット社長、田中さんも!梵で乾杯!

links
- KidsVenture - 投稿 (FaceBook>
- KidsVenture

修せざれば現れず。知ってはいても体験していないものは、わかった気になっているだけかもしれません。 来年度から全国の小学生がプログラミングすることになっている日本。大人の方の準備はいかがでしょうか? クラウド、IoT、AI、ロボットなど次々登場するIT関連技術、まずは100円のコンピューターと仲良くなってみましょう。

某社、社員の方、約80名向けにIchigoSodaを使った企業研修として、IoTプログラミング体験。 2時間の研修で、プログラミング入門、コンピュータの基本、ネットワークづくり、情報セキュリティとチート、IoTとスマホ間の送受信までを、一通り体験いただくワークショップ。好評でした。


ゲームで通じて学ぶ、プログラムの基本構造。どのようにプログラムは「組む」のか。ブラウザで動く「IchigoJam web」を使った復習もどうぞ!


IoT化することで参加者のスコア分布が一目瞭然。たった40円で買える安い温度センサーであっても、いつ、どこで、何箇所測るか、あっという間に即ビッグデータ化します。集めた多量のデータも、人の想像を遥かに超えるコンピューターの計算力と記憶力をプログラミングやソフトウェアを持ってすれば怖くないですね。 VRを使った新しいVRビジュアライゼーションにも可能性あり!


PCN - すべてのこどもたちにプログラミングを!
教えられる人不足が深刻な問題となっている「こどもプログラミング」。企業の土日の会議室を使った、企業の方によるミニ講座で、地域のこどもたちにプログラミングするきっかけを!体験後はぜひ、プログラミングと電子工作のコンテスト「PCNこどもプロコン」を目標に。


東京近辺の方、JR秋葉原駅、電気街口から徒歩1分、PCN秋葉原ではんだづけからプログラミング、電子工作した応用まで、まるっと体験いただけます。

ichigojam-1.4.0b03.zip」 ベータ版ダウンロード
- TICK(1)で1/60*261秒単位のカウント値を返す(2秒ちょっとで1巡)
- 液晶表示時にVIDEO2による画面反転を有効に変更
- 自動起動したプログラムの終了時にComplex expressionとなる不具合修正

TICK()より261倍細かい分解能で時間計測できるちょっと高度な新機能搭載!微妙なバランス調整などにどうぞ!

10 CLT 20 ?TICK(),TICK(1):CONT

NT金沢で紹介したNT鯖江。さばえものづくり博と合わせて回遊してもらうためのディスプレイをGET!

こちらがベース、金沢工大河並研究室の展示で目立っていた巨大ディスプレイ。中身はおなじみWS2812B!

展示後は研究室の片隅で捨て置かれる運命と聞いて、売ってもらいました。(thanks! @naikasannさん)

ひとまずランダムパターンで光らせてみたら、そこはかとなく漂う昭和レトロ感!

WS.LEDコマンド対応のIchigoJam 1.4b用プログラムがこちら。

1 @ARUN 10 N=RND(33)+1 15 M=IOT.IN():IF M N=M 20 FOR J=0 TO 9 30 FORI=0TON*3-1:LET[I],RND(4):NEXT:WS.LEDN,256/N+1 35 WAIT 17/N 40 NEXT 50 GOTO10

ichigojam-1.4.0b01.zip」 ベータ版ダウンロード
15行 IchigoSodaだとスマホからパターンの長さを指定して発光可能!


これが改造前のディスプレイの裏。すごい配線量!Arduinoでは16列個別に制御していたとのこと。


こちら改造後。16列、全部直列化して、配線すっきり!これでIchigoJamでも制御可能です!


IoTプログラミングワークショップに立ち寄ってくれた6歳の子。でたらめタイピングを伝授!


F10を押して画面が消えても、もう一度押すか、電源を入れ直せば復活!じゃんじゃん触って仲良くなろう!


楽しげなおもちゃを発見!「とりバッティングセンター」
NT金沢2019レポートは続きます。

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