多くの方に祝福されての鯖江の新拠点「Hana Open Innovation Dojo (通称:Hana道場)」がスタートしました!
めがねのまち鯖江だけに、ウェアラブルもテーマのひとつ!
Vuzix x 鯖江 x jig.jp めがねアプリ with 鯖江オープンデータも福田さんに体験してもらいました!
オープン初のワークショップ『IoT超入門~ネットにつながるオモチャを作ろう~』(イントロ動画 by SAP)
みのまわりにあるたくさんのコンピューター、これからそのすべてがインターネットにつながることになります。
さて、インターネットってなんでしょう?
「検索したら答えてくれるもの」「世界中と話ができるもの」など、その効能を答えてくれました。
インターネットの正体は、1つにつながったたくさんのコンピューターです。
IoT(Internet of Things)とは、コンピューターが1つにつながるコト。
今あるコンピューターはもちろん、今後増え続ける様々なコンピューターもふくめて何百億台ものコンピューターが全部つながる世の中になります。
何が起きるかは誰にもわかりません。
何が起きるかわからないので、あそんじゃいましょう!
ってことで、ネットにつながるおもちゃを考えてみるのが今回のテーマ。
とりあえず、目の前にあるパソコンIchigoJamをとなりのIchigoJamとつないでみます。
ジャンパー線を2本使って、1本はGND(グランド)という黒いところ同士つなげましょう。
もう1本のジャンパー線は、片方はTXD、もう片一方はRXDにつなぎましょう。
TXDをつないだ方で
?"LED1"
と書いて、エンターキー。となりのIchigoJamのLEDが光ります。
IchigoJam、2台のネットワークができました!
では、次にインターネットへとつなぎます。
この500円の無線LANチップは、見えない線でルーターを通って、インターネットにつなげてくれます。
無線LANチップからGNDとTXDとRXDへジャンパー線をつないだら準備完了。
このMacからみんなのIchigoJamのLEDを光らせますよ!
(MacでLED1と打ち込む→みんなの手元のIchigoJamにLED1と打ち込まれ、LEDが点灯)
みんなのIchigoJamで?の後に何か好きな数字を書いてエンターしてみましょう
(プロジェクターに映るみんなの書いた数字とかいろいろ)
IchigoJamから無線LANチップ、ルーター、いくつかのコンピューターを通して、このMacに届きました!
さぁ、これを使ってどんなおもちゃをつくってみたい?
・・・どんどん膨らむこどものアイデア!
以上、1時間ちょっとのワークショップでした。
ワークショップ後、3Dプリンターを見て目をキラキラさせるこどもたち!
今回ネットにつなぐのに使ったのは「PM2.5警告機」として実験した500円無線LANチップ、ESP-WROOM-02。
AT+CWMODE=3
AT+CWJAP="ssid","password"
とあらかじめルーターへの接続設定をしておくと、電源をいれると勝手につないでくれます。
Javaでシンプルなサーバープログラム(ブログ末に添付)を書いて、サーバーで動かしておき、下記コマンドをMacから打ち込み、通信モードにしておきました。
AT+CIPMODE=1
AT+CIPSTART="TCP","xx.xx.xx.xx",8001
AT+CIPSEND
単3電池2本の電源で、無線LANチップと、IchigoJamのVCCに給電すれば、このようにキーボード、テレビへの接続なしのIoTとして動きます。
Macでの準備などなしに、簡単につながるようなキットにできると、もっと手早くだれでも簡単にネットにつながるおもちゃがつくれそうです!
鯖江のステキものづくり発信拠点「Hana道場」
こども向けはもちろん、ワクワクしたい大人向けのワークショップも楽しそうですね!
来週、11/26 東京半蔵門、SAPジャパン本社内でIchigoJamのワークショップも開催!
ご興味あるかたぜひご参加ください!
「Hana道場 こどもプログラミングスクール in Tokyo | Peatix」
週末11/28にはさくらインターネットさんによる「KidsVenture」!
関連リンク
- Hana道場 - Facebookページ
- SAPジャパンとエル・コミュニティ、福井県鯖江市にHanaオープンイノベーション道場開設、地方創生を支援
- IT×ものづくりの拠点作ります!|きらきら星のつぶやき☆
- Hana道場オープンニング 写真アルバム
- IT×ものづくり拠点(Hana道場)がオープンしました。 |『さばえ.jp』百さんのブログです
- Hana道場 オープニング潜入記事|鯖江から世界へ! - 学生団体withによるブログ
シンプルなIoTサーバープログラム(Java言語)
import java.io.*; import java.net.*; import java.util.*; public class A { static final int PORT = 8001; public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(PORT); final ArrayList>BufferedWriter> outs = new ArrayList>BufferedWriter>(); for (;;) { final Socket s = ss.accept(); new Thread() { public void run() { try { BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); outs.add(bw); for (;;) { String s = br.readLine(); broadcast(outs, s, bw); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } } static void broadcast(ArrayList>BufferedWriter> outs, String s, BufferedWriter except) throws Exception { for (int i = 0; i < outs.size(); i++) { BufferedWriter out = outs.get(i); if (out != except) { try { out.write(s, 0, s.length()); out.newLine(); out.flush(); } catch (Exception e) { } } } } }