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

How to blink a LED via web on IchigoJam using Sakura IoT Platform beta

2017/03/14 23:55:00
#IchigoJam #IoT #maker #english 

Let's make WoT!
The first step of Web of Things is also blinking a LED (エルチカ@ja).

4GエルチカWoT on IchigoJam

Taisuke Fukunoさんの投稿 2017年3月14日

1. Prepare hardwares
- Sakura's IoT module beta - Sakura's IoT Platform
- Break out board - Sakura's IoT Platform
- IchigoJam T - IchigoJam - with 1.2b42 firmware (beta download from Facebook Group)
- I2C level converter - PCA9306 - Akizuki Denshi
- some jumper wires

2. Regist the Sakura's IoT module
Make a project and a WebSocket service.

* Orange is module ID

3. Connect them
The signal voltage of Sakura's IoT module is 1.8V but IchigoJam is 3.3V.
So you have to change the voltage by PCA9306.
Cut a VCCB(right-top) pin and connect yellow wire (1.8V LOD_OUT of Sakura's IoT module) above.

Put the PCA9306 on the right of the Sakura's IoT Module.
Yellow : VCCA(left-top) - 3.3V on IchigoJam
Blue: SDA(left-middle) - SDA on IchigoJam
Green: SCL(left-middle) - SCL on IchigoJam
Orange: right-top of the Sakura's IoT Modlue - 5V on IchigoJam

VCCB(1.8V) - LOD_OUT(left of the Sakura's IoT Module) (Yellow)
GND(left of the Sakura's IoT Module) - GND on IchigoJam

And turn your IchigoJam on!
Wait a moment until single blinking the LED on the Sakura's IoT Module.

4. Send from the IchigoJam
Open the WebSocket service.

* Yellow is Token to access

Write this program to access Sakura's IoT Module. (beta needs checksum, so a little long code)

900 @I2C 910 M=PEEK(#701)+2 920 C=0:FOR I=0 TO M-1:C=C^PEEK(#700+I):NEXT:POKE#700+M,C 930 IF I2CR(79,#700,M+1,#780,N+1) STOP 940 C=0:FOR I=0 TO N-1:M=PEEK(#780+I):C=C^M:?M;" ";:NEXT:? 950 IF C!=PEEK(#780+N) OR PEEK(#780)!=1 STOP 960 RTN

And try this code to test! If you'll get "1 1 0" or "1 1 128" it's success!

POKE#700,1,0:N=3:GSB@I2C 1 1 0 OK

Wait until you will get "1 1 128". (0:4G no connections, 128:4G connected)
To put a data into the queue

C=1:A=123 POKE#700,#20,10,C,73,A,A>>8,0,0,0,0,0,0:N=2:GSB@I2C

To send data

POKE#700,#24,0:N=2:GSB@I2C


You will get your data on the control panel.

5. Recieve from the web
Download the program in JavaScript from lchika@GitHub.
Rename the "sakura-setting-rename.js" to "sakura-setting.js".
Edit a name of module and a token on the "sakura-setting.js". (Abobe Orange and Yellow on your Sakura control panel)
This is a code to get the count of the receive queue.

POKE#700,#32,0:N=4:GSB@I2C:?PEEK(#783)

Open "index.html" on your browser and touch the "ON" button.

You get "1" as receive queue count.

POKE#700,#32,0:N=4:GSB@I2C:?PEEK(#783)

And you get a data!

POKE#700,#30,0:N=#14:GSB@I2C:?PEEK(#784)

6. Program WoT blinking a LED in BASIC!

1 'SAKURA's IoT beta recv test 100 @LOOP 110 GSB @CHK:IF N=0 WAIT 30:CONT 120 GSB @GET:?"RECV:";N:LED N 130 GOTO @LOOP 800 'IoT Lib 810 @CHK:POKE#700,#32,0:N=4:GSB@I2C:N=PEEK(#783):RTN 820 @GET:POKE#700,#30,0:N=#14:GSB@I2C:N=PEEK(#784):RTN 900 @I2C:'use M,C,I 910 M=PEEK(#701)+2 920 C=0:FOR I=0 TO M-1:C=C^PEEK(#700+I):NEXT:POKE#700+M,C 930 IF I2CR(79,#700,M+1,#780,N+1) STOP 940 C=0:FOR I=0 TO N-1:M=PEEK(#780+I):C=C^M:?M;" ";:NEXT:? 950 IF C!=PEEK(#780+N) OR PEEK(#780)!=1 STOP 960 RTN

Try to make your original WoT!

Thank you Web & Sir Tim! Welcome to the next web era!

2017/03/13 23:55:00
#IchigoJam #IoT #maker #english 

The next web era has come with Web of Things (WoT) and 5-star Open Data.
Mr. Japanese internet Jun Murai presented a honorary degree of doctor of Keio university to sir Tim!

And sir Tim presented to Murai-san. It's good long friendship!


Happy 28th Birthday World Wide Web


I got super rare items! "地球蜘蛛ノ巣@ja" is web in Japanese!


photo: Sir Tim, Mr. Murai and me with "HELLO! WoT" tag


WoT can be accessed via web.
Pressing the button on browser → websocket → Sakura IoT Platform β → turn on the LED on IchigoJam!

1 'SAKURA's IoT beta recv test 100 @LOOP 110 GSB @CHK:IF N=0 WAIT 30:CONT 120 GSB @GET:?"RECV:";N:LED N 130 GOTO @LOOP 800 'IoT util 810 @CHK:POKE#700,#32,0:N=4:GSB@I2C:N=PEEK(#783):RTN 820 @GET:POKE#700,#30,0:N=#14:GSB@I2C:N=PEEK(#784):RTN 900 @I2C:'use M,C,I 910 M=PEEK(#701)+2 920 C=0:FOR I=0 TO M-1:C=C^PEEK(#700+I):NEXT:POKE#700+M,C 930 IF I2CR(79,#700,M+1,#780,N+1) STOP 940 C=0:FOR I=0 TO N-1:M=PEEK(#780+I):C=C^M:?M;" ";:NEXT:? 950 IF C!=PEEK(#780+N) OR PEEK(#780)!=1 STOP 960 RTN

WoT with IchigoJam BASIC is so easy! (I want to be more)
see: Sakur's IoT Platform beta (さくらのIoT Platformβ)
use: "FXMA2102" to fix the level of volt. (OE must connect to VCC / don't need pull up)


My home town Sabae city was elected "Local IoT Acceleration Lab" today also. (鯖江市IoT推進ラボ@ja)
Mr. Jun Murai is chair of "IoT Acceleration Lab".

links
- ティム・バーナーズ=リー卿 慶應義塾大学名誉博士称号授与 記念講演会(3/14@三田,要申込) | 慶應義塾大学 湘南藤沢キャンパス(SFC)
- 「IoT Lab Selection」及び「地方版IoT推進ラボ」を開催し、受賞者を選定・表彰しました!(METI/経済産業省)

First Step of Programming with IchigoJam for the IoT Industery

2017/03/01 23:55:00
#IchigoJam #IoT #english 

To learn programming is important for adults not only kids.
IchigoJam was selected as the teaching materials for a professional training at Fukui.

I thoght it's same for both kids and adults.

"First Step of Programming with IchigoJam"


Enjoy to mistake! (IchigoJam sounds the short beep!)


Use the Cutlery Card to think the jobs what you want computer.


Flip the Cutlery Card to know the BASIC language for the computer.

I added Cutlery Card in French version!
Cutlery Card as first step IchigoJam in French
Cutlery Card as first step IchigoJam in Kinyarwanda (Thanks Mr. D.Dieudonne!)
Cutlery Card as first step IchigoJam in Arabic
Cutlery Card as first step IchigoJam in English
Cutlery Card as first step IchigoJam in Japanese
Cutlery Card system is under Creative Commons BY license.
(by Nittetsu Hitachi Systems Engineering, Inc. / download page)

Computer lives everywhere! And they want to connect the web!
Welcome to the IoT era.

バス乗降数IoT実験、Code for Japan x Yahoo!Japan コーポレートフェローシップ in 鯖江

2016/12/21 23:55:00
#IoT #opendata #IchigoJam #codefor 

公共交通をスゴクする「コーポレートフェローシップ in 鯖江」の実証実験DAY2、顔認識センサーでの完全な記録は難しそうだったので、運転手さんによる手動でカウントしてもらう方式です。現在、ボードに紙でメモする方式より、運転手さんもその後の集計も圧倒的に楽になる上に、リアルタイムで乗客数が把握できるかも!?


実験の様子を20秒でまとめました。
鯖江で開催する成果報告会、来年1/28(土)13時です!


ヒアリングを元に設計された配置に沿って、ボタンを基板上に並べて、はんだづけ。


IchigoJamへは、GND、ボタン8コ分、VCC(プルアップ用)の10ピンで接続。


動作確認(IN1,IN2,OUT1〜6を使いました、OUT1〜6は内部プルアップがないので基板上にプルアップ抵抗を接続)

10 FOR I=1 TO 6:OUT I,-1:NEXT 20 ?BIN$(IN(),11) 30 WAIT 5 30 GOTO 20

ボタンが全部ちゃんと動きそう!(OUT x,-1 でOUT端子をIN機能へと切り替えられます)


乗降数を表示しつつ、さくらのIoT Platformを使って送信するプログラムを書いて、基板で作った制御盤にテプラで説明を貼り付けできあがり!


ひとまずガムテープで運転席に仮止め!電源は車内のシガレットソケットからとってます。


実際に運転席に座ってみて使用感をチェック!


運転手さんにレクチャー、紙に書くより楽!と高評価!


今日はひとまず一路線走ってもらいましたが、順調にデータがリアルタイムど取れることを確認。
駅でたくさん乗った様子、ラポーゼかわだで降りた様子などが、ネット越し感じる体験、なかなか楽しいです。

今日の運転手さんからのフィードバックも含めて、来月の第三回目の実験へと進みます。
未来の公共交通を考える、楽しい成果発表会は、1/28(土)13:00〜、どうぞお楽しみに!

つつじバスで乗車数把握実験、オムロン顔認識センサーxさくらのIoT Platformで人体数検出IoT

2016/12/06 23:55:00
#KidsIT #IchigoJam #IoT #codefor 

子供に大人気!オムロン製、顔認識センサーを使ったワークショップの研究に、小学生は無料で乗れる鯖江市営つつじバスの乗降数を把握できるか実験を、Yahoo!Japanからのコーポレートフェローシップチームと共同実施。


距離や車内の安全バーなどの関係か、実際より少なめに表示されつつも、混み具合は認識できそう。


バス中で掲げて認識数実験。実際に設置するとなると、安全で美しい固定方法を考えるなど、勉強のテーマは盛りだくさん!


オムロン顔認識センサー用のシールドを作成
シリアルTXD/RXD/GNDを接続し、電源5V用のジャンパー線をはんだづけ
(IchigoJamにぴったりのユニバーサル基板(aitendo)が便利!)


CN5の5Vのピンを分岐して、さくらのIoT Platform αも接続、スタンドアローンの人体検出&ネット送信IoTデバイスができあがり!


今回、協力してくれた、かわいいつつじバス!

IchigoJamで動かしていたプログラムはこのような感じ。年齢センサーとの違いは、10行のコマンド送信で4bit目の代わりに、人体検出の0bit目を指定。返ってくる人数はヘッダ後のデータ1byte目[0]に格納される。800行はさくらのIoT Platform αへ変数Nを送信するサブルーチン。これでリアルタイムオープンデータのできあがり!

1 'BODY-DETECT 5 SWITCH 10 UART3:LC0,-1:?CHR$(#FE,4,3,0,1<<0,0,0);:UART0,2 20 GSB900:IF N!=#FE ERR 30 GSB900:IF N ERR 40 GSB900:L=N:FOR I=1 TO 3:GSB900:NEXT 50 FOR I=0 TO L-1:GSB900:[I]=N:NEXT 55 CLS 60 LC3,1:IF [0]>0 LC3,2:?[0];"ニンイマス" ELSE ?"ニンズウヲ、アテマス" 70 N=[0]:GOSUB800 80 WAIT 60:GOTO 10 800 POKE#700,#30,1,ASC("I"),N,0,0,0,0,0:?I2CW(#4F,#700,1,#701,6):RTN 900 N=INKEY():IF N=0 IF BTN() UART0,0:END ELSE CONT 910 N=N&#FF:RTN

おもしろいセンサー x IoT ますます楽しいものづくり!

図書館空席オープンデータをBASICで取得して表示するIoT - SORACOM x 3GIM x IchigoJam

2016/12/01 23:55:00
#IoT #IchigoJam #opendata 

0SIM x 3GIMクラウド温度センサーそば or notにつづき、sabotaの「つくえなう」で使って図書館空席オープンデータをタブレイン社の3GIMで表示してみました。


11座席をIchigoJamの画面で表示。位置決めはFORコマンドとLOCATEコマンド(LC)、表示はPRINTコマンド(?)ですね!

プログラムはこんな感じです。まずは3GIMで通信してデータを取得するまで。
鯖江市の図書館空席オープンデータ - 数値取得API

10 BPS2400:OUT6,1:WAIT60:OUT6,0:UART3,1 20 CLS:INPUT "",D 30 ?"$WG http://sabae.club/rdfp/sabaelibrary/?f=num" 40 CLS:INPUT "",D 50 C=PEEK(#900):IF C=ASC(">") OR C=ASC("$") GOTO 40 60 UART0,0:OUT6,1

レスポンス、先頭に&>や$がついていないものを取得します。返ってきた数値は変数Dに入ります。
つづいて、その変数Dの値を使って画面描画

100 FOR I=0 TO 10 110 B=D&(1<<I)!=0 120 LC 5+I*2,10 130 ?CHR$(232+B) 140 LC 5+I*2,12 150 ?I+1 160 NEXT 170 WAIT 60*60:RUN

表示し終わったら、1分待って、再度実行、再取得というループです

今回は、SORACOMのSIMを使いました。
3GIM v1では、SORACOMを使うために事前設定が必要です。(3Gシールド/3GIM Wikiページ

10 BPS2400:OUT6,1:WAIT10:OUT6,0:UART3,1 20 ?"$YD TABrain ";CHR$(34);"$x49$x3D$xD8$xC9$xCE$x98$xDB$x3D$x22$xCA$x56$x84$xCA$xA2$x97$x7F"; 30 ?"$xBB$xC5$x6D$xEC$xBE$xAF$x39$x89$x47$xA7$xFF$x67$x79$x81$xA3$xBD$x66$x9D$xBD$xDD$x5B$x5F"; 40 ?"$x58$x89$x46$x5D$x57$xEB$x95$x23$x29$xE3$x78$x23$x32$x31$x49$xB2$xD0$xE9$x47$xC0$x16$x34$xB5";CHR$(34) 50 INPUT"",D:UART0,0 RUN

これで12番にSORACOMのAPNが登録され、次のコマンドで切り替え

UART3,1:?"$PS 12":INPUT"",D:UART0,0

3GIM V2.0の場合、$PSコマンドでAPNを登録する方式に変わっているので注意!(詳細


IchigoJam BASIC で、お気軽IoTをお楽しみください!

さくらのIoT Platformβ、ブレイクアウトボードでハードウェア準備

2016/11/17 23:55:00
#IoT #maker 

さくらxイチゴ!

IchigoJamをセンサークラウド化するさくらのIoT Platform、α版からより小さく洗練されたβ版となったものが到着。 今回はハードウェアの準備をします。


購入サイトから、さくらの通信モジュールとブレイクアウトボードを購入。


β版にはアンテナがメイン、サブの計2本!押し込むとパチンと固定化されます。


通信モジュールとブレイクアウトボードをコネクタで接続します。取り外しはあまりしないほうが良さそうなので、両面テープで固定化が推奨されています。


モジュールができたので、さくらのIoT Platformβの開発者サイトで登録、早速ピン配置を確認して、IchigoJamと接続と思いましたが、α版と違って、IO(入出力)の電圧が1.8V系だったため、電圧変換するレベルシフタを仕入れる必要がありました。 下記を注文しました。
I2Cバス用双方向電圧レベル変換モジュール(PCA9306): 半導体 秋月電子通商 電子部品 ネット通販」税込150円
I2Cバス用双方向電圧レベル変換モジュール(FXMA2102): 半導体 秋月電子通商 電子部品 ネット通販」税込200円

こちらがブレイクアウトボードのピン配置。IchigoJamとつないでの実験、楽しみです!

かわいい作品続々!こどもIoTハッカソン using さくらのIoT x FaBo x IchigoJam at Yahoo!新オフィス

2016/10/22 23:55:00
#IchigoJam #KidsIT #IoT 

デザイン思考(by SAPジャパン)によるアイデアソン、電子工作とプログラミングとIoTを使ったハッカソン。
今回は小中学校の子供向け!NPOエル・コミュニティによる出張Hana道場第一弾「こどもIoTハッカソン


テーマは「センサーとモーターでお母さんを助けよう!」
小中学生による、たくさんのかわいい作品が誕生しました!


会場はグランドオープン前の Yahoo!Japanの新オフィス内コワーキングスペース「LODGE
午前中はデザインシンキングでアイデア出し!


お母さんの気持ちになってみよう!


Y!Japanのスタッフの人によるIchigoJam予習で大盛り上がり!


今日のハッカソン用の機材たち
- IchigoJamFaBoさくらのIoT Platform α for IchigoJam、そしてサーボモーター!
配布プリント
はじめのいっぽ、ミニゲームズ、IoTはじめのいっぽ、IchigoJam BASIC リファレンス 1.2 (PDF)


プリントを見ながらFaBoを使った電子工作実験。つないだらIchigoJamで1行、簡単に動作をチェックできます。 例えば、温度センサーならIN2につないで、7文字打ち込み、エンター、温度に合わせた数がでます。

?ANA(2) 270 OK

ボタンを押したら、温度を表示して、温度に合わせたサーボの動きをするプログラム。

10 IF IN(0)=0 GOTO 10 20 ?ANA(2) 30 PWM4,50+ANA(2)/7:WAIT30 40 GOTO 10 RUN

ボタン、LED、温度センサー、光センサー、ボリューム、サーボ、いろいろ自由に組み合わせよう!


FaBoをつくった、佐々木さんからも応援メッセージ!

FaBoをいろいろ使ってもらったあとは、いよいよお待ちかねネットにつなぐ実験。
さくらのIoT Platform αを上に重ねて、こんなプログラムをつくれば、温度の値をネットに送れます!

C=10 N=ANA(2) POKE #700,48,C,73,N,N>>8,0,0:?I2CW(79,#700,1,#701,6)


みんなの送ったデータは届いているかな?大きなスクリーンでチェック!


機能ができたら外装は厚紙と割り箸、セロテープで作る!みんな早い!


こちら作品一例、お掃除が大変そうなお母さんに代わって、お掃除するロボット。
ハタキがうごきと、キラリと光る目がかわいい。


みんなで記念撮影!じぶんで何でも作れちゃいそう感、どんどん高めていきましょう!


仙台、千葉、鎌倉からも助っ人!
11/26-27、仙台でIchigoJam体験会開催!
WSC in 仙台トラストシティ | 開催情報|ワークショップコレクション
千葉、木更津高専の先生によるPCN千葉、宣言!

東京の次回は、11/13「PCNプログラミングフェス」開催決定!

参考リンク
- こどもIoTハッカソン開催しました!@ヤフー”LODGE”|きらきら星のつぶやき☆
- 「こどもIOTハッカソン」に行ってきたよ! - Yahoo!きっずからのお知らせ - Yahoo!きっず

つくりたい気持ちが原動力、ふくいITフォーラム2016最終日&神明小学校2016後期プログラミングクラブスタート

2016/10/21 23:55:00
#IchigoJam #IoT #fukui #sabae #KidsIT 

二日目、最終日のふくいITフォーラムには多くの方にお越しいただきました!自分で何でもつくれるかも!?というワクワク感は子供と大人も一緒です。IoTハッカソン、福井でもまたやりましょう!


人気のかわくだりゲームを改造して、自動運転化した上にサーボでKidsVenture旗を振らせてみました。 ちょっとした改造ならその場で1行、すぐできちゃいます。


鯖江市立神明小学校、後期メンバーによるプログラミングクラブ、スタート!はじめのいっぽ、ミニゲームズでサクッとプログラミングに慣れた後は、教科書「IchigoJamでプログラミング」を元にオリジナルゲームづくりと発表に「自ら学んで」挑戦するスタイルで行う、全6~7回。楽しみです!分からないところは、友達同士で助け合おう!


会場でも小学校6年生のコがプログラミングに挑戦!大人も驚く飲み込みの速さ!自分だけのコンピューター、がんがん使いこなしちゃってください!

人気のIchigoJam音楽のサンプル、アイルランド民謡が元になっている「蛍の光

10 PLAY"T80 O4CF.F8FAG.F8GAFFAO5CD2. DC.O4A8AFG.F8GAF.D8DCF2. O5DC.O4A8AFG.F8GO5DC.O4A8AO5CD2. DC.O4A8AFG.F8GAF.D8DCF2." RUN OK TEMPO 240 OK

音楽がなっている最中にテンポを変更する TEMPO コマンドで遊んでみましょう!


会期中運行していた無料シャトルバス乗車のため福井江駅にいくと、北陸新完成予定の高架上にえちぜん鉄道。期間限定の珍しい風景。


飲食コーナーでみつけた勝山産いちごでつくったスムージー!中学校でもIchigoJam講座スタート

さくらのIoTとIchigoJamでだれでもIoTとIoM - ふくいITフォーラム2016

2016/10/20 23:55:00
#IchigoJam #IoT #fukui 

27回目となる「テクノフェア」&「ふくいITフォーラム」。IoTや、ロボットへの意気込み感じる、西川副県知事からの祝辞と共にスタート。 jig.jpブースでは、IchigoJamFaBoを使った超簡単プログラミング&スマートホーム電子工作を紹介。体験は百見は如かず。これにさくらのIoT Platformを接続して、1行加えるだけでIoT。 モジュール料金は今なら5,378円!正式サービス後も月額100円!(詳細

Telepathy、ボストンクラブのneo-plugなど、電脳メガネ展示も多数!

積木制作によるGalaxy Gearを使ったVR体験コーナー人気!

福井コンピュータアーキテクトによるルームスケールVR、HTC Viveを使ったVR住宅プレゼン
鯖江市の都市3Dオープンデータとの相性も良さそうです!

導電性の糸を使った開発中のウェアラブルの展示!

「電子工作マガジン&マイコンBASICマガジン」の電波新聞社ブースにもIchigoJam

夜には福井県IoT推進ラボのミートアップ、福井担当となったIPA未踏事業の責任者でもある神島さん来福!

オープンデータは、IoT、スマホ、VRなど、すべてのインフラ!
超シンプルなIchigoJam BASICでプログラミングをはじめる子供たち多数誕生!
衝撃のさくらのIoT Platformを使って、だれでもかんたんIoT!(こどもIoTハッカソン開催)
さまざまなモノを内包するIoT、福井のIoTといえばIoM!?

FaBoでIN2に光センサーを接続、暗くなったら、その明るさデータをさくらのIoT Platformを通じてネットにアップし、照明をつけるプログラム(IchigoJam BASIC)。 GPSモジュールとつないで位置情報を送り続ける、侵入者が来たらスマホへ通知する、熊が出たら迎撃と共に知らせるなどなど、価格と難易度が下がると、いろんな夢が叶います。

10 LED0 20 N=ANA(2) 30 IF N<500 GOTO 20 40 POKE #700,#30,1,73,N,N>>8,0,0 50 ?I2CW(#4F,#700,1,#701,6) 60 LED 1

10/21もふくいITフォーラムにてお待ちしております!

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