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

ねこxIoT - さくらIoT Platformαをつかった電源つなぐだけネコトイレIoT

2016/09/18 23:55:00
#IchigoJam #opendata #maker #neko #IoT 

動くおもちゃネコエサカウンターレーザーおもちゃネコトイレロガーに続く自作ネコツール第5段、「ネコトイレIoT」。 猫がいつトイレに行ったのか?1日何回行っているか?気になる猫の体調管理をいつでもどこからでもスマホでチェックできるサポートガジェット。さくらのIoT Platformα内蔵なので、電源をつなぐだけ!


ネコトイレに一体化を前提に、ひとまず外置きプロトタイプ。


今回は、家にあった電センサーを改造して使用。焦電型赤外線センサーモジュール(PIRセンサーモジュール)は、400円(5V〜12V仕様、秋月電子)や、600円(3.3V〜12V仕様、秋月電子)534円(2.7V〜12V仕様、aitendo)など、そこそこ手頃。

配線などは、IoT ハッカソンのねこ型ロボットで感心した紙外装テクノロジーを使用。ネットワークは家の中なので無線LANでもいけますが、せっかくなのでさくらのIoT Platformαを使用。(さくらのIoT Platformαのつなぎかた、つかいかた

IchigoJamでさらっとBASIC IoTプログラミング!

10 IF IN(1) GOTO 10 20 N=N+1:?N 30 POKE #700,#30,1,73,N,N>>8,0,0:?I2CW(#4F,#700,1,#701,6) 40 WAIT 10*60 50 GOTO 10

センサーの反応があったら通信、10秒待ってから再び反応待ち。通信がうまくいっているか見るためのカウンター変数、N。


かんたんなWebアプリを用意してできあがり!早速、深夜0時半にトイレにいった模様。
いつでも気軽に手元でさっと確認したいもの、どんどんネットにつないじゃいましょう!

参考リンク
- 1行リターンでIoT、さくらのIoT Platformα x IchigoJam BASIC で超簡単ネット接続デバイスづくり

さくらのIoT Platformα x FaBo x IchigoJam x 高専 - IoT Hackathon in Sabae

2016/08/27 23:55:00
#IoT #IchigoJam #kosen #intern #neko 

高専インターン2016参加学生やOB/OGとのハッカソン!
企画から開発、発表までを一気に1日でやってしまう凝縮プログラム。
次々登場するデータやデバイス、値段が下がり、ますます熱いIoTで遊んじゃおう!

IchigoJamの定番「かわくだりゲーム」と、さくらのIoT Platformのα版 for IchigoJamで実際にデータをネットに飛ばしてみます。使い勝手がわかったところでチーム分けして、アイデアランチ、そして、発表の17時を目指して開発へ。
1行リターンでIoT、さくらのIoT Platformα x IchigoJam BASIC で超簡単ネット接続デバイスづくり


初ハッカソンの人も多数、電子工作&プログラミング&IoT、楽しいイベントになりました!


今回の目玉IoTモジュール、FaBoに加え、IoTハッカソンにと用意した、電子パーツいろいろ!


おかしをつまみながらのチームで楽しく、ものづくり。スペシャルゲスト中1プログラマー、MASAHARU!


さくらのIoT Platform、デバイスからの発信から、外からの受信を試みるも、今回は断念。入出力、両方あると確かに楽しくなりますね!


楽しいハッカソンタイムは、あっという間に終了、発表を迎えます!持ち時間は5分間でプレゼン&デモしてもらいます。


ネコ型ロボットをつくった、サバえもんチーム


レーザー発信、光センサー&さくらのIoT Platform、モーターボードMapleSyrupを使ったネコ型ロボットのIchigoJam 3台も使った豪華システム。


レーザー光の遮断を検知し、飼い主に突撃するネコ型ロボット!サーバーへ通知が、意図しない来訪者を知らせるセキュリティ機能にもなります!


SHO(しゃべる、非常口、男)チーム


「しゃべる」機能に使えそうな音声録音、再生モジュール(1,000円 at 秋月電子


トイレットペーパーに関する様々なトラブルをIoTが解決!巻きすぎ注意チーム。


黒く塗るとレーザー光の反射率が下がることを利用してつくる巻き数カウンター。


IchigoJam、FaBo、さくらのIoT Platformの三段積み!


ローテーションサーボを使って、何かを巻き上げる機構をつくってます。


三軸加速度センサーを使った、居眠りを検出するペン、IchigoPen。授業中のクラス内の学生の居眠り具合を可視化。


ペンの動きを検出して、さくらのIoT Platformを通じて、活動量をグラフ化するデモ。

加速度センサー、MA7455 by aitendoの使い方
(つなぎかた)
IchigoJam - MA7455
VCC - 3V
GND - GND
SCL(IN3) - 12
SDA(EX1) - 11

10 POKE #700,#16,5:IF I2CW(#1D,#700,1,#701,1) ERR 20 POKE #700,#0 30 IF I2CR(#1D,#700,1,#800,6) ERR 40 ?[0],[1],[2] 50 WAIT 5:GOTO30

数珠つなぎに拡張できるI2C(アイツーシー)、いろいろ簡単な使い方、用意していくと便利そう。


寝起きが悪い、うに乗務、起きない場合は水がかかり、ネットを通じて、恥ずかしいツイート、大事なデータの削除までされてしまう目覚まし時計。10秒間で100連打するまで無限スヌーズ。


最優秀賞は「Death目覚まし」副賞はとってもレアな、jig.jpオリジナルキャップ!
優秀賞の「にゃんにゃん」「巻きすぎ注意」にはブレボ(ブレッドボード)をプレゼント!


机を一番ちらかしたで賞も同時受賞!DEATH目覚ましチーム。


懇親会、OB/OGの懐かしい再開と現役インターンとの交流。


沼津からのおみやげ。


MSX2のデモ、IchigoJamっぽい配色にしてコーディングしつつ、プログラミングの伝え方ディスカッション。

インターン生によるブログもどうぞ!
IchigoJamハッカソン in SABAE - jigintern2016’s diary

- おまけ
チーム分けにライブコーディングしたIchigoJamプログラム
(例、405は4テーブルで5番となった人はTEAM2になることを意味します)

- スペシャルサンクス!
さくらのIoT Platform α
FaBo

8/26 アフリカ留学生版 鯖江市地域活性化プラン発表会&VRアプリ勉強会! 1bit IoT「Soba or Not」デモ紹介

2016/08/18 23:55:00
#IoT #IchigoJam #africa #sabae 

SketchUpで編集可能な鯖江市商店街3Dオープンデータを鯖江市に提供した、株式会社JMとJICAによるアフリカ留学生のインターンプログラム、今年は鯖江を舞台に地域活性化プランを一週間かけてつくり、発表する企画。


本日、キャンプイン at 獏の棲む森!(big photo data


アルジェリア、エジプト、エチオピア、コートジボワール、タンザニア、プルキナファソ、モーリタニア、モザンビーク、モロッコ。アフリカ各国から日本へ留学中。東京、神戸、京都、講義にも行ったことがある新潟国際大学など、大学も様々。

プラン作成に使える、便利なオープンデータはこちら「データシティ鯖江」を探してみてください。
他に必要なデータあれば、鯖江市役所または Code for Sabae まで気軽にお声がけください!
"Feel free to request another open data about Sabae city! → Code for Sabae"


プランの発表は、8/26(金) 「アフリカ留学生版!鯖江市地域活性化プラン発表会」通訳アリ!
第9回目「鯖江市地域活性化プランコンテスト | 市長をやりませんか?」とひと味違った発表が聞けるはずっ


懇親会、アイデアのネタにともっていった、リアルタイムオープンデータの源泉であり最もシンプルな 1bit のデータをWebにつなげる IoT「Soba or Not - 1bit IoT」のデモ版です。大きなトルグスイッチをつないで、そばがまだあるか、切れたかをシンプルに伝えます。


Soba or Not - 1bit IoT demo
変化があった時だけ3GIMを使ってサーバーにデータを送る省電力仕様。リアルタイムオープンデータ(JSON)を使って、簡単に好きなアプリとしてデザインして伝えたり、他のアプリと連携したりできます。

10 BPS2400:OUT6,1:OUT3,-1:OUT1,1:OUT2,1 15 OUT2,0:B=IN(1):OUT2,1 20 OUT2,0:A=!IN(1):OUT2,1 23 ?A:IF A=B GOTO 70 30 OUT6,0:INPUT"",D:UART3 40 ?"$WG http://sabae.club/siot/1/?key=xxx&v="A 50 INPUT"",R:IF !R CONT 60 OUT 6,1 65 LED 1:WAIT5:LED0 66 OUT1,!A:B=A 70 WAIT 60*10,0 80 GOTO 20

プログラムは、IchigoJam BASIC なので、とってもシンプル。調整も仕様変更もその場でサクっとできます。欲しいものは自分でつくりましょう!(参考、3GIMミサイルスイッチ


お蕎麦屋さん、まだいけるかな?を解決します。

8/26の発表会の日、午後には私が副委員長務める、福井県情報システム工業会、オープンデータ委員会主催のアプリ勉強会も開催!

(↑3D鯖江市商店街データの紹介)

株式会社JM提供の鯖江市3Dオープンデータや、360度写真オープンデータとOculusを使った3Dプログラミング体験、初心者IoTプログラミング体験など、実際にものをプロトタイピングしながら、未来の定番アプリをデザインするイベントです。合わせてどうぞ!

未来の定番アプリを考える、IoT/VRアプリ勉強会

1行リターンでIoT、さくらのIoT Platformα x IchigoJam BASIC で超簡単ネット接続デバイスづくり

2016/06/25 23:00:00
#IchigoJam #IoT #sakura 

さくらのIoT Platformα、お借りしたモジュールをIchigoJamに接続、超簡単にネットにつながりました!


IchigoJamとの接続は4本のみ、赤の5VをCN5(5Pソケットをつける)の5Vへ、黒をGNDへ、その隣の黄色がI2CのSCLなのでEX1へ、次の黄色がI2CのSDAなのでIN3へ。 I2Cのプルアップ抵抗はモジュールに入っているとのことなので、これだけでOKです。(※プルアップ付きのEEPROMモジュールをつけても動作しました)

画面に表示されているように、たった2つのコマンドでモジュールからネットへの送信が完了しています!

POKE #700,48,1,73,#AA,0,0,0:?I2CW(79,#700,1,#701,6)

このように書けば、まさにたった1行。
先頭行 48(=#30) が送信コマンド、次にチャンネルの1、4byte正数を表す73(=ASC("I"))、今回は簡易的に先頭1byteのみ書き込む#AA。 I2CWコマンドで、アドレス79(=#4F)を指定し、仮想メモリ#700からの1byteと#701からのデータ6byteを送信します。 うまくいけば0が返ります。1と表示されたらI2Cの接続を確認してください。


箱から出して、初回のみファームウェアの更新が必要です。5Vをつないだら電波状態の良さそうなところで、しばらく放っておきましょう。 この時5Vが電池モバイルバッテリーなど、あまり電流が取れない電源だと失敗しました。 うまくいかない場合、ACアダプターから電源をとってみるといいでしょう。

LEDの3回点滅がモデムの起動待ち、その後、電波状況によらず2回点滅に遷移して、ファームウェア更新開始。

コネクターの電源5V(赤)の反対側の端、緑はUARTのTxDなので、これをIchigoJamのRxDにつなぐと、アップデートの様子をみることができます。

Sakura IoT Alpha (201505311830-89doeefo)

最後にこのように表示され、ファームウェア更新が完了!
一度、リセットして、LEDが3回点滅状態から、2回点滅になれば送信準備が整ったと思っていいみたいです。
下記のコマンドでネットワーク接続状態を見ることができますが、通信する前は 0 が返ってくるようです。

POKE #700,1:?I2CR(#4F,#700,1,#701,1):?PEEK(#701)

I2Cのアドレスは#4F、詳細気になる方は、Arduino用のサンプルプログラムを読むのがおすすめです。 (sakura-internet/SakuraAlphaArduino: SAKURA Internet IoT Alpha Communication Module Library for Arduino

モジュールからネットに送ったデータの使い方は、さくらのIoT Platformαに用意されている開発者向け管理サービスから設定できます。

プロジェクトを作成し、連携サービスを追加


WebSocketサービスを追加したこの画面で、IchigoJamから送信すると送られてきたデータがリアルタイムに更新されます!楽しい!


Outgoingサービスを追加すると任意のWebサイトにデータをJSON形式で転送してくれます。
ひとまず受け取ったデータをWebアプリから連携できるテストサービスを作ってみました。
これで遠くで起きた何かを検出できちゃいます!
サービスを作らなくても設定だけでスマホに通知できたりすると、更にIoT化の敷居が下がって良さそうです!


今回使用したのは、SORACOMのSIMが入ったα版のモジュールです。製品化、楽しみですね!

設定不要、電源をつなぐだけでネットにつながってしまうIoTデバイスが、BASICで1行書くだけで簡単に作れてしまう。 どんなデバイスが、どんな業界から飛び出すか!?

関連リンク
- さくらのIoT通信モジュールのUARTの使い方 - Qiita(シリアル通信でも使える!)
- さくらのIoT Platformを試してみた | Developers.IO(Arduino用チュートリアル)
- Arduino用ライブラリとサンプル
- Arduinoでつくられたサンプルアプリ2つ
- さくらのIoT Platform|開発者向け(マニュアル)
- さくらの IoT Platform(公式サイト)
- 1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門
- IchigoJam(公式サイト)

意外なところにIchigoJam、自分でつくる喜びプライスレス

2016/05/13 23:55:00
#IoT #IchigoJam 

3日間のクラウドEXPO、終了。たくさんのご来場いただきました!

さくらインターネットブースメンバーみんなで記念撮影!


こちらがBASICかんたんIoTを実現する予定のネットワークモジュールα版、IchigoJamとの接続楽しみです!


NHK WORLDの「great gear」さんが取材に来てくれました!
paprikaを使ったロボットプログラミングを決めてうれしそう!放送、楽しみです!


#IchigoJam x MapleSyrup で簡単ポップづくり

DCモーター2つ、ステッピングモーター1つ、サーボモーター4つなどの簡単モーター制御を実現するIchigoJamの拡張ボード「MapleSyrup」を使って、簡単なポップづくり。

10 PWM 3,200:WAIT 60 20 PWM 3,150:WAIT 60 30 GOTO 10

サーボモーター1つだけなら、プログラムはたった3行。 角度を調整したり、タイミングを変えたり、止める角度を増やしたり、たった3つのコマンド(PWM、WAIT、GOTO)だけでもプログラミングを使ってできる組み合わせは無数にあります。 これに条件判断するIFコマンドを加えると・・・

25 IF BTN() GOTO 40
40 PWM 3,200:WAIT 20 50 PWM 3,150:WAIT 20 60 GOTO 10

ボタンを押すと1回素早く動きます!ちょっとかわいい自作ポップ、展示会にぜひどうぞ!
プログラムし終わったら、ボタン押しながら電源をいれれれ組み込みモードで起動!モニターもキーボードもいりません!

このおもいっきり手軽なBASICの乗りのまま、さくらのIoT Platformや、MixJuiceで、簡単遠隔制御や遠隔監視のIoTが実現しちゃいます!

IchigoJam、組み立てキットのはんだづけから入るのがオススメです。
東京の方、秋葉原、電気街口徒歩1分の「PCNフラッグシップ秋葉原 BY ASSEMBLAGE(アセンブラージュ)」へぜひお立ち寄りください!


足の西館に伸ばして、電波新聞社ベーマガ編集長の大橋さんが発見してくれた東亜無線電機さんのブースの風の強弱をモニターする産業用システム。


なんと、風の強弱実演デモで働くIchigoJamがいました!(上写真の拡大) リモコンからゲートウェイ経由で届く入力信号を受けて、風をおこすモーターをPWM制御、手軽で良いと気に入ってくれてました。

左側、Windowsで表示しているモニター画面も、現場用実用重視ならIchigoJamのビデオ出力機能を使うのもありかもしれません。 画面はモノクロシンプルになりますが、消費電力は下がりますし、セキュリティアップデートはありませんし、安い上に耐久力は抜群です!


Qualcommさんブースでは、空飛ぶコンピューター、SnapDragon Flight の静態展示。
おもちゃから産業用まで幅広いドローンの世界、こどもが楽しめる「ドロ四空」も夢ではない!?


高専違いの先輩、さくらインターネット社長の田中さん、ステキな機会、ありがとうございました!

クラウドEXPO2016
- 1日目 BASIC、自分でつくる、IoT! 新しいIchigoJam クラウドEXPOにて先行紹介
- 2日目 実演、だれでもつくれるIoT! IchigoJam BASICで、その場でつくった電光掲示板 ネット対応へ
- 3日目 意外なところにIchigoJam、自分でつくる喜びプライスレス

実演、だれでもつくれるIoT! IchigoJam BASICで、その場でつくった電光掲示板 ネット対応へ

2016/05/12 23:55:00
#IoT #IchigoJam 

クラウドEXPO、2日目。こんな感じで展示しています。

ディスプレイにコンポジットHDMI変換経由で映しているIchigoJam、8bitな文字で省電力&省メモリ&安価っぽさをアピール!


1ループするごとにBASICのプログラム(LIST)が表示されます。


電光掲示板、プログラムはこちら(ver1.2用)。
目玉は100行からのサブルーチン、VRAMのキャラクター領域を見て、1列ずつ表示しつつスクロールさせます。
追加した45行、画面をクリア(CLS)して、プログラムを表示(LIST)して、3秒待って(WAIC 3*60)、繰り返します(GOTO)

休憩中や、どこにいるか分かるように電光掲示板をネット対応させてみます。
メッセージ登録フォームを作って、無線LANボード「MixJuice」で取得するコマンド(MJ GET)を使って・・・

10 CLS 20 ?"MJ GET ichigojam.net/mes/" 30 INPUT N 40 WAIT 10*60 50 GOTO 10

ネット接続電光掲示板のできあがり!
サーバー側を一切つくる必要なく、簡単に便利なサービスができてしまうのが、さくらIoT Platformのいいところ!
(今年度中に完成予定とのこと)


檻!?


水門!?


ネットにつながるワクワク、じぶんでつくるIoT、さくらのIoT Platformα ブースへお立ち寄りください!
東京ビッグサイト クラウドEXPO 東6の入り口入って徒歩1分、小間番号 東49-36「さくらインターネット」

クラウドEXPO2016
- 1日目 BASIC、自分でつくる、IoT! 新しいIchigoJam クラウドEXPOにて先行紹介
- 2日目 実演、だれでもつくれるIoT! IchigoJam BASICで、その場でつくった電光掲示板 ネット対応へ
- 3日目 意外なところにIchigoJam、自分でつくる喜びプライスレス

BASIC、自分でつくる、IoT! 新しいIchigoJam クラウドEXPOにて先行紹介

2016/05/11 23:55:00
#IoT #IchigoJam 

5/11-13、東京ビッグサイトにて、開催中のクラウドEXPOとIoT/M2M展。
東6「さくらインターネット」ブースにて、IchigoJam、展示中。

目玉は、先日一気に登場した各種拡張ボードでつくる動くIoT、3GIM接続デモ、更に新しいIchigoJamプリント基板に、IchigoJam基板で動くJavaScript、IchigoLatte! 園児からおじいちゃんまで、誰でも簡単につくれるBASIC IoT、ぜひ実物を見て空想膨らませてください!

よりシンプルになる、新しいIchigoJamプリント基板。

まずは抵抗4本ではんだづけの練習。色は全部違います!

はんだづけした後の長い線は、飛ばないように指で抑えてニッパーで切る。

簡単になった電源用のmicroUSB端子をはんだづけ。

12MHzクリスタル(内部で4倍にして48MHzで動作)、コンデンサ2種類をはんだづけ。

ICソケットをだだっとはんだづけ。

大事!LEDは向きがあります。正面から見て右側が長くなるよう挿してはんだづけ。

ボタンをはんだづけ。

スイッチは曲がらないように、そっと上からはんだづけ。曲がってしまったら熱くない黒い部分をもって温めてなおして修正しましょう。

14ピン2つと5ピン1つのピンソケットをつけて、裏返し、曲がらないようにはんだづけ。まずは1つだけはんだづけして、まっすぐに矯正するときれいです。

最後にCPU、LPC1114を机に押し当て、右下のように気持ち内側に少し曲がるくらいのコの字型にして差し込みます。

完成!

あとはテレビ、PS/2キーボード、microUSBで電源をつなげば、即プログラミング!

IchigoJam BASIC ver 1.2.0 by jig.jp OK LED1 OK LED0 OK 10 LED 1:WAIT 30 20 LED 0:WAIT 30 30 GOTO 10 RUN 25 IF ANA()>300 ?"MJ GET ichigojam.net/?d=";ANA()

1行加えてIoT!


東6の入り口入って徒歩1分、小間番号 東49-36「さくらインターネット」ブースです!
クラウド コンピューティング EXPO

はんだづけがしたくなったら「PCNフラッグシップ秋葉原byASSEMBLAGE」へどうぞ!
その場でIchigoJamを買ってはんだづけできます!(サポートもあり)

クラウドEXPO2016
- 1日目 BASIC、自分でつくる、IoT! 新しいIchigoJam クラウドEXPOにて先行紹介
- 2日目 実演、だれでもつくれるIoT! IchigoJam BASICで、その場でつくった電光掲示板 ネット対応へ
- 3日目 意外なところにIchigoJam、自分でつくる喜びプライスレス

動くIoT! 無線LANでコントロールする100均電車ロボ IchigoJam x MapleSyrup x MixJuice

2016/05/06 23:55:00
#IchigoJam #print3d #IoT 

ロボットはネットにつなぐと楽しさが広がります。動くIoTを、100均の電車、MixJuice、MapleSyrup、IchigoJamでつくってみました。


3Dプリンターでつくった連結パーツで、ちょっとタレ目な顔が特徴です!まずは完成動画をどうぞ!


100均電車ロボ D-ROBO-01 動画 on Vine


モーター入りのダイソー、100均電車 2両


単3電池1本でギア付きモーターで進む電車になっています


3Dプリンターでキャンバー角を付けて連結するパーツを作成(3Dデータ on Thingverse


電車を連結パーツに押し込んで、モーター部分にジャンパー線をはんだづけ
ちょっと狭いのでケースを溶かさないように気をつけて! (モーター部分、ジャンパー線、それぞれはんだをくっつけておいて、くっつけると楽です)
3Dプリンターでつくった連結パーツを正面として、右側から赤、白、緑、黄と分かりやすいように色ばらばらにしていますが、お好きな色でどうぞ!


IchigoJamに、ネットワークに接続するMixJuiceを重ね、更にこどもモーターボードMapleSyrupを載せて、 MapleSyrupのCN4の1から、赤、白、黄、緑と接続。こどもロボットpaprikaと一緒の操作ができます! 単3電池3本の電池ボックスをCN1に接続したらできあがり!ひとまずテレビとキーボードをつないでスイッチ、オン!

OUT33:WAIT60:OUT0

1秒間前進します!
MapliSyrupのモーター制御は、OUT1/2で右モーター、OUT5/6で左モーターです。
いろいろ試してみよう!緊急停止ボタンは F7 (=OUT0)

こちらは前進後退回転をキーボードのU、D、R、Lを使って操作するテストプログラム。

1 'D-ROBO-01 5 W=20 10 K=INKEY() 15 IF K=0 GOTO 10 20 IF K=ASC("U") OUT1,1:OUT6,1 30 IF K=ASC("D") OUT2,1:OUT5,1 40 IF K=ASC("R") OUT2,1:OUT6,1 50 IF K=ASC("L") OUT1,1:OUT5,1 60 WAIT W 90 OUT 0:WAIT W 100 GOTO 10

変数 W で、一回の操作でうごく時間を変えています。

こどもネットワークボードを使って、走行プログラムをダウンロードして動くように改造しよう!

2 ?"WAIT TO CONNET" 3 UART0,0:WAIT 10*60:UART1,1 4 ?"MJ GET fukuno.jig.jp/ij/mp.txt 11 IF BTN() WAIT 60:GOTO 4

http://fukuno.jig.jp/ij/mp.txtには書かれたテキストファイルを読み込み、その通りに動きます。 ボタンを押したらもう一度!(100均電車ロボ D-ROBO-01 動画 on Vine
※3行はMapleSyrupの起動待ちのウェイトです。ネットワークの設定をしておけば、10秒もすれば接続完了しています。

ネットにつながるロボットの完成です!
サーボモーターを使ったり、センサーをつないで値をネットに送ったり、何でもつくれちゃいそうな気がしませんか?

まだキーボードを使ったプログラミングは早い、小さなこどもや、プログラミングに抵抗感ある大人向けに、スマホやタブレットでロボットプログラミングする簡易言語をつくってみるのもありかもしれません。

3GIM x IchigoJam x 0SIM でつくるクラウド温度センサー

2016/04/29 23:55:00
#IchigoJam #IoT #maker 

衝撃の0円SIMを使った実験「こどもIoT」から自動解約されてしまう3ヶ月が経ってしまう前に、実運用できる形にバージョンアップ。 IchigoJam pocket の左シールドに加えて、右シールドとして3GIMを装備!アンテナも安定していい感じになりました。

使う温度センサーはこちら、LM61C1Z、4個で200円とリーズナブル! IchigoJamのアナログ入力が使えるお手軽な温度センサー、端子はラベルを手前にして左からVCC、OUT、GNDです。

IchigoJam pocketの上から、OUT2,OUT3,OUT4の部分に直接さして、下のようにプログラムすれば電圧で温度の値が取得できます。

10 OUT3,-1:OUT2,1 20 ?ANA(7):WAIT 30:GOTO 20

10行、OUT3を入力に切り替えて、OUT2で電源を供給
20行、入力に切り替えたOUT3ポートはIN7として使えるのでANA(7)で値を取得、温度は電圧から計算できます(参考
(198/1023*3.6-.6)/0.01 = 9.6度 ・・・あれ、こんな寒くはないはず、電池の電圧がもっと高いのかも。


続いて、3Gネットワークに接続するための右シールドづくり。前回の回路をコンパクトにまとめる治具をユニバーサル基板でつくります。あれこれ試したので汚れちゃってますが、いい形に落ち着きました。

高価なシールドを壊すと痛いのでいつもより慎重に道通チェックをして、接続。

BPS 2400:UART0 UART3:?"$YT":UART0

BPSを安定して取得できる2400にして、しばらく待つと起動コマンドが送られてきます(予め$YB 2400で3GIM側の設定もしておく)。エラーメッセージなどを3GIMに送ってしまい、3GIMがエラーを返すというループに陥らないようにするために通常はUART0としておきます。
試しに時刻を取得するコマンド $YT を送ってみます(ネットワークを使った正確な時刻が得られます!)

しあげに、温度センサーの値を定期的にサーバーに送るプログラムを書いて、 ボタン押しながら起動で、ネットワークが通じるところならどこでも動く温度センサークラウドデバイスができあがり!
※ アクセスするサーバーのファイルには何か数値を書いておく(

10 BPS2400:OUT6,1:OUT3,-1:OUT2,1 20 A=ANA(7):?A 30 OUT6,0:INPUT"",D:UART3 40 ?"$WG http://sabae.club/temp/test.html?";A 50 INPUT"",R:IF !R CONT 60 OUT 6,1 70 WAIT 60*60 80 GOTO 20

Webサーバーのログとして、温度センサーの値が定期的に記録されます。 自動的にグラフにしてくれるようなサービスと組み合わせるのも楽でいいですね!

2016/05/01 07:24:24 /temp/test.html?185 BREW-Applet/0x01109A49 (BREW/05.00.03.01.112.1861; DeviceId: 0; Lang: en )

ログのUser-Agentに懐かしい「BREW」の文字!
世の中はいろいろな技術の積み重ねでできています。
遠慮無く、便利なツールは活用して、楽しく楽しいデバイス、作りましょう!

1行でWeb通信!IchigoJam用無線LANモジュールMixJuiceでつくるPM2.5表示計

2016/04/27 23:55:00
#IchigoJam #IoT 

IoTとは全部ネットにつながるということ。
つまり、実社会を数値化するインプットや、数値を実社会へと戻すアウトプットを至る所に置けちゃいます!

IchigoJamでかんたんに使える、こどもロボット「paprika」プロジェクトのひとつ、こどもネットワークボード「MixJuice」が4/25、新登場! ひとまず、超シンプルで便利なPM2.5表示計を作ってみました。


一定間隔おきに福井県が計測している鯖江市神明のPM2.5の値をサーバー上で使いやすいように処理したものを取得して、表示。

10 ?"MJ GET sabae.club/pm25/1/fukui/sabae.txt" 20 INPUT N 30 CLS 40 LOCATE 8,13 50 PRINT "PM2.5 SABAE:";N 60 WAIT 60*60 70 GOTO 10

10行、肝のWebアクセス部分。
IchigoJamは表示(PRINT)するものを画面と同時にシリアル(UART)出力する機能があり、 これを利用してMixJuiceはプリフィックス"MJ"がつくものを検知するとコマンドに従った動作をして、同じくシリアルでデータを返してくれます。 MJ GET で現在の鯖江のPM2.5の値(http://sabae.club/pm25/1/fukui/sabae.txt)にアクセスしたデータを取得します。

20行、数値で返ってくるデータをINPUTコマンドを使い変数Nへ代入。
30行、画面をクリア(CLS)
40行、画面中央に表示するようにカーソル位置を座標(8,13)へ移動(LOCATE、LCの省略形も便利!)
50行、"PM2.5 SABAE:"の後ろに取得した数値を合わせて表示。(?はPRINTの伝統的な省略形)
60行、指定時間だけ待つコマンドWAITで、ひとまず1分待ちます(指定はフレーム数、60で1秒)
70行、処理を10行へ移します(嫌われることも多いGOTOくん、マシン語的表現がお気に入り!)


MixJuiceを使うには、IchigoJam UのCN5に、5ピンソケットをはんだづけしておくと、microUSB電源を共用できて便利です。

上記のように、無線LANにつなぐためには一度だけ少し無線LANアクセスポイントに接続する準備が必要です。
IchigoJamから、次のコマンドで、アクセスポイント一覧を取得。

?"MJ APL 'ssid1 'ssid2 'ssid3...

接続したいアクセスポイントの行を編集して

?"MJ APC ssid2 password"

パスワードを後ろに足してエンター、しばらく待つと connected! の文字!

?"MJ GET sabae.club/pm25/1/fukui/sabae.txt" 12

取得できました!


動作している様子はこんな感じです(on Vine

今回は以前つくったPM2.5取得機能を使いました。家の近くのバス停にバスが来るまでの時間、外の体感温度、道路や役所や観光地の混み具合、いろんなデータが取得できると楽しそうですね! キーワードは、オープンデータ!お近くのオープンデータを探してみてください(オープンデータ都市)。

参考リンク
- MixJuice - こどもネットワークボード by PCN
- MixJuiceで投稿/Kidspod; - プログラムの投稿、取得もできます!
- こどもパソコンIchigoJam

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