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

鯖江市片上小学校にて、総合と算数、2コマ使ってはじめてのプログラミング体験授業。

キーボードの使い方上級編、SHIFTキーをマスターする前に、Altキーを押しながらCを押してネコを出したり遊んでもらっているところ。


それぞれオリジナルの発光パターンに自分で改造した「エルチカロボット」が動いた瞬間、上がる感動の声。
意のままに操れるコンピューター、かわいいでしょ?

授業の動画はこちら(スライド「はじめてのプログラミング、さんすうとプログラミング (PDF)」)

総合でプログラミングとコンピューターの基本(45分、ノーカット)


算数とプログラミング、速さの単元を想定して、キーボードを連打する、30m走ゲームづくり(45分、ノーカット)

10 CLT:X=1 20 CLS:LC X,15:?"O" 25 LC RND(32),RND(14):?”*” 30 IF INKEY()!=32 CONT 40 X=X+1 50 IF X<=30 GOTO 20 60 T=TICK()*10/6:?T 70 ?10800/T

タイムを3桁(555 -> 5.55 秒)で表示。
時速をキロメートル毎時として計算!30m駆け抜ける、平均速度は!?
(30m = 0.03km, 1時間 = 3600秒, 時速 = 0.03/(T/100/3600) = 10800/T)


プログラミングによる自動操縦ドローンのデモに、みんな興味津々!
まったさん、IchigoJam x MixJuice で、飛ばす実験成功!
How to fly a drone with programming by IchigoJam! / IchigoDakeでドローン “Tello” をプログラミングする方法! – about yrm


プログラミングで発明する例。(IchigoSoda = IchigoJam x sakura.io)
ここの廊下は、何人が通るのだろう?インターネットにつながったデバイス、IoTなら手に取るようにわかります。

10 OUT1:OUT0:A=0 20 A=A+1:IF IN(1) CONT 30 IF A<5 LED1:IOT.OUT N:WAIT 30:LED0 40 WAIT 5:GOTO 10

人が通ったことを距離センサーが検出したら、LEDをつけて、IOT.OUTで、ネットに送信!
1コあたり200円前後で買える超音波距離センサー「HC-SR04」を使用。
MixJuiceを使えば、無線LAN対応にも改造できますね。

身近な便利、作っちゃおう!


Hana道場
春休み、プログラミングや、自分だけのパソコンづくりにチャレンジしたくなったら、鯖江駅から歩いて5分、Hana道場へどうぞ!
(東京近郊の方は、PCN秋葉原Assemblage!)

links
- 動画&スライド公開、プログラミングB分類、総合と英語2コマ使った「はじめてのプログラミング」 - 鯖江市進徳小学校でモデル授業

2005年にスタートしたNPO法人によるコミュニティFM「たんなん夢レディオ」の理事をしてます。
創設したのは、福井高専の1期生の先輩、伊藤努会長!

たんなん夢レディオ 79.1MHz - 地域のみなさんといっしょに作るコミュニティFM放送局 - tannan.fm
3,000円でJR武生駅から徒歩15分、「なつかしや」というゲストハウスも運営してます。

伊藤さんと企んだ、ネットと放送の融合!USTREAMから始まったサイマル放送、現在はYouTube Liveで放送中!
福井高専提供の番組「高専ライブ」など、ご当地番組を近所と世界中にお届けしています。(タイムテーブル

聞いていたら、知っている人!
天津弥のガボステージ」にゲスト出演、大西さんの新プロジェクト!

福井 伝統工芸アイドル オーディション」2019/5/31まで
福井のミュージシャン、新アイドルグループ構想発表 「伝統工芸応援」コンセプトに - 福井経済新聞

放送、ネットに加え、フリーペーパー「夢レディオ編集室」と全方位メディアで展開する、たんなん夢レディオ。
今回は、IoTと親子をテーマに先日のkintoneイベントとIoT火災報知器「火守くん」を記事にしました。

サイボウズ x さくらインターネット x jig.jp / 親子体験IoT (PDF)

かんたんIoT、やってみたい方、福井県鯖江市「Hana道場」へどうぞ!

links
- たんなん夢レディオ 79.1MHz - 地域のみなさんといっしょに作るコミュニティFM放送局
- 「火守くん」「セーブライフ・ファイヤシステム」の株式会社創電(福井・敦賀)

こどもプログラミング + IoT = 大人のプログラミング研修! という、発見。

総務省の研究会、デジタル活用共生社会実現会議、ICT地域コミュニティ創造部会の第三回。
福井県での地域ICTクラブの取り組み「福井県こどもプログラミング協議会」から「子供と大人による学びあいの場として位置づける地域ICTクラブ」と、情報提供。 その鍵とある、大人によるプログラミングの楽しい学び、はじめてのIoTプログラミングの体験会。


使用教材:IchigoJamスピードパック(IchigoSoda版)
モバイルバッテリーで動くので、どこでもすばやくセッティング!


はじめてのIoTプログラミング with IchigoJam x sakura.io (PDF)」- 1時間ショートバージョン

こちらIoTカウンターのプログラム。ボタンが押されるたびに、1ずつ増える値をネットに送ります。

1 IF BTN()=0 CONT 2 IOT.OUT N:N=N+1 3 WAIT30:GOTO 1 RUN

1. もし(IF) ボタン(BTN)が押されていない(=0)なら、この行を繰り返す(CONT)
2. NをIoT出力(IOT.OUT)。NをN+1に変える
3. 30描画待つ(WAIT)。1へいく(GOTO)

ボタンの部分を、センサーに変えると人や、動物などを数えたり、使い方工夫次第!
プログラムは、式次第などのプログラムと一緒です。人がやるか、コンピューターがやるかだけの違い。


チーム横浜、老テク研究会 近藤さん&PCN代表 松田さん!


大人も楽しい、IoTプログラミング、総務省、初開催でした!

links
- 進むカニロボづくり、総務省地域ICTクラブ視察、プログラミングを完全に理解する方法
- 大鵬薬品、大塚グループで開催、IchigoJamでIoTプログラミングはじめのいっぽ / 人間に必要な栄養素アプリ
- IoT for everyone! 大人IoTプログラミング体験 at Salesforce.com Tokyo Marunouchi
- 1時間半でわかる叡智の結晶「IoT」 - IchigoJam x sakura.io 情報セキュリティ実習 in 高知高専

ICTとくしま連動企画「親子で挑戦!こどもパソコン「IchigoJam」でプログラミング!|徳島県ホームページ
2時間半で体験する、プログラミングの基本、ゲームで学ぶ基本アルゴリズム、ネットワークの基礎、IoT!


二人で相談しながら、2台のIchigoJamをジャンパー戦でつないで、ネットワークづくり!
鯖江の小学校で導入検討している、総合と英語としてのプログラミングに加え、中学校で新しく追加されるネットワークとプログラミングを先取りして「技術」を加えて3コマの模擬授業風ワークショップとしました。 はんだづけを学ぶ中学校の技術と合わせた授業もおすすめです。


はじめてのプログラミング with IchigoJam。徳島の小学生、25人が参加してくれました!
募集開始後、すぐに定員になったとか。こどもプログラミングへの関心、全国で高まってます。


今日の新カリキュラム、3コマ目としての技術!中学校の授業を先取りしちゃいましょう!


みんな大好き、ネット!今日は自分で作ってみましょう。


隣同士で座ってもらった座席、左側Aさん、右側Bさんとして、Aさん「わくわく電子工作キット」からジャンパー線3本取り出し、IchigoJamの白をIN1、黒をGND、赤をOUT1に差し込みます。


Bさん、受け取ったジャンパー線を赤をIN1、黒をGND、白をOUT1に差し込み、2台だけのネットワーク完成!


AさんもBさんもプログラムを入力し、RUNで動かし、本体のボタンを押すと・・・


お互いの画面に、相手が押した 0 か 1 かのメッセージが伝わってきます!
挨拶してみよう。はいか、いいえで、答えてみよう。お家に帰るよ、迎えにきて、など、どう伝える?


IN1とOUT1を相互につないだ、2台だけの最小ネットワーク。


インターネットは、こんな調子で世界中の100億台のコンピューターがつながったもの。
何をどのように伝えるか!?みんながいろいろ考えて、ここまで大きくなりまりました。
すべてのモノがネットにつながる、IoT時代が始まってます!みなさんならどう活用しますか?


ケーブルを電波に載せたものが、ラジオや、テレビ、無線LANや、スマホへと発展しました。


タイピングゲームをIoT化してみましょう!


実はみなさんが使っている、高級IchigoJam、IchigoSodaはすでにIoT!


1,2コマでだいぶ慣れたキーボード、5行のプログラムを入れて、動かしてみよう。A-Zまで何秒で打てるかな?


キーボードを使うのが初めてという子もいたり、2時間も経っているのに、みんな入力仕切りました!


1行追加して、ネットにスコアを送ります!


スクリーンでは、みんなのIoTから続々届くタイピングスコアの結果をヒストグラム表示。


実は簡単にズル(チート)ができちゃう、IoT。自分でつくったIoT、誰かに乗っ取られないように気をつけよう。


チート方法を紹介したことで、荒れたランキング!
マイナスの大きな数は、10万とか100万とかすごい数値をいれたんだろうなー。桁があふれてマイナスになってます。


このIoT、月に1万回通信しても60円!これなら気軽に遊べますね!


休憩5分の2時間半、みんな最後まですごい集中力!


スライドオープンデータ「はじめてのプログラミング with IchigoJam - 総合、英語、技術 (PDF)
1コマ目の総合でエルチカロボットづくりをして、身の回りのコンピューターを透視できるスキルをゲット!
2コマ目の英語では、かんたんな英単語を使って、コンピューターと話して作る「かわくだりゲーム」体験。
ゲーム大会、RUNを押した左手を挙げて、ゲームオーバーになったら下ろすルール、盛り上がりました。


サポーターとして来ていただいた、大塚グループ、IoT研修参加のみなさん、ありがとうございました!


鯖江といえばメガネ、エモメガネ、女の子に人気!


自宅のテレビにつないで気軽に楽しむ IchigoJam。

IchigoJamに必要なもの
ご家庭のテレビでOK。黄色いコンポジット端子につなぐケーブルは、赤白黄色のビデオケーブル(DAISOで入手可能)
電源用のmicroUSBは、Androidや、いろいろな小型家電についているものでOK(DAISOなど100均で入手可能)
今日使ったキーボード「エレコム 有線ミニキーボード 静音タイプ メンブレン式 ブラック TK-FCM077PBK」855円!

わからないことがあれば、Facebookグループや、Twitterハッシュタグメールでどうぞ。

links
- 動画&スライド公開、プログラミングB分類、総合と英語2コマ使った「はじめてのプログラミング」 - 鯖江市進徳小学校でモデル授業
- 中学生にオススメ、自分ではんだづけしたパソコン IchigoJam でプログラミングと制御と計測! 出張PCN荏原第六中学校編
- コンピューターとお話しよう、LED1と打ってエンターでLEDが光るよを仮想体験 IchigoJam web エミュレーター - IoT研修@大塚グループ
- ICTとくしま - 徳島ITイベントにて基調講演、目指せ国民総エンジニア&データサイエンティスト

目指せ世界最先端IT国家、日本の危機脱出にIT活用は必須!
プログラミングもIoTも、ちょっと試せばぐっと楽しい!大人も始めよう、国民総エンジニア&国民総データサイエンティスト!(昨日は徳島県、大塚グループさんにてIoTプログラミング研修

予想外に湧いた、DJIの教育用ドローン「TELLO EDU」をプログラミングによる自動運転飛行!プログラミングがちょっとできると、結構いいことありますよ!


スライド「1行で簡単実現「IoT」プログラミング×オープンデータ利活用! (PDF)
こどもたちに未来を切り開く、エンジニア&データサイエンティストスキル獲得のきっかけを!


360度カメラ、THETAで撮った舞台、ここでドローンの自動飛行!


Intelさんの機械学習に寄る画像識別のデモ展示、OpenVINOは無料お試し中のこと!
プログラミングができると遊べる最先端のおもちゃが、世界中から日々登場するエキサイティングな時代!
何年やっても飽きないどころか、いつか使ってみたい積みテクノロジーが増える一方。
みんなでシェアしましょう。


徳島県立 徳島科学技術高等学校の展示、鏡型情報端末。
身の回りのデバイス、IoTでみんな自分のコントロール下に置いちゃいましょう!


穴吹情報公務員カレッジの展示、どこでもリモコン。
レゴを使って、リモコンを物理で押す、潔さ!(IchigoJam学習リモコンもどうぞ)


教えないのが逆にいいCodeDojo tokushima 代表、谷岡さんと!
小中学生のものづくりを表彰する、PCNこどもプロコン、ぜひご活用ください!


京都で実験中、スマート観光の取り組み by シスコさん!


デジタルサイネージを通じて、遠隔の観光地のおじさんから声がかかるのおもしろい!


なんと徳島で、鯖江のおとな版地域活性化プランコンテストで一緒に戦った、京都のADDD Link 上治さんに再会!


会場は、昨年の高専プロコン以来のアスティとくしま!
明日は、いよいよこどもプログラミングワークショップ! IoT もちょっと実演するので、大人の見学も大歓迎!
親子で挑戦!こどもパソコン「IchigoJam」でプログラミング!|徳島県ホームページ


プログラミングで飛ばすドローンのデモも、やりましょう!
壇上から飛んだ TELLO EDU、Python3による制御プログラムはこんな感じでした。
(TELLO SDK: dji-sdk/Tello-Python: This is a collection of python modules that interact with the Ryze Tello drone.)

import threading import socket import sys import time locaddr = ('',9000) event = threading.Event() sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) tello_address = ('192.168.10.1', 8889) sock.bind(locaddr) def recv(): while True: try: data, server = sock.recvfrom(1518) print(data.decode(encoding="utf-8")) event.set() except Exception: print('\nExit . . .\n') break recvThread = threading.Thread(target=recv) recvThread.start() def send(command): msg = command.encode(encoding="utf-8") sent = sock.sendto(msg, tello_address) event.wait() print("next!") event.clear() send("command") send("takeoff") send("up 500") send("flip l") send("up 200") send("left 250") send("forward 250") send("right 250") send("flip f") send("right 250") send("back 250") send("left 250") send("flip r") send("land") sock.close()

links
- とくしまICTバザール - とくしまICTバザール

Code for Japan 地域フィールドラボ 鯖江第5期大鵬薬品&大塚グループIoT研修からつながる縁、この度、徳島県にて大塚グループ社員のみなさま向けIoTプログラミング研修会。

IchigoJam web - LED見える化版
画面だけではいまいち伝わらない、コマンド「LED1」でIchigoJamのLEDがコントロールできる感動を、少しでも再現すべく、合成写真版を作ってみました。
今回の研修ではスキップした、ゲームづくりのパートのチャレンジにもぜひどうぞ! もちろん、IchigoJamや、IchigoSoda実機でも!


スライド「はじめてのIoTプログラミング with IchigoJam x sakura.io (PDF)
2時間の体験型研修、IoTの基本はT。電子工作とプログラミングの入門から始めて、温度センサー、光センサーをIoTセンサーとして使い、スマホからLEDやサーボのコントロール体験まで!


こちらLEDが消えているIchigoJam


LED1コマンドで点灯!(合成写真)


GREENがテーマ、ステキなオフィスでした!

links
- 大鵬薬品、大塚グループで開催、IchigoJamでIoTプログラミングはじめのいっぽ / 人間に必要な栄養素アプリ
- 大鵬薬品 x 鯖江市、第5期 Code for Japan 地域フィールドラボ事業報告会 - 現場での恊働とデータが生むイノベーション

PCN秋葉原からアナログフルカラーLED用、1行色相環BASICプログラムで制御できる、色相環キラキラ新ボード!
試作版を1セット組み立てて、IoT化してみました。


ネットから回転する速度をコントロールするIoT色相環 (color wheel)


OUT2,3,4、3つの出力だけで6つのアナログフルカラーLEDをコントロール!


色の三原色、赤、緑、青、3つのLEDが1つのフルカラーLEDに入っていることがよくわかります。


雪結晶として3D組み立てされたアイロンビーズを装着でファンシー度アップ。


OUT2,1など、試してもよし。PWMを使って平均出力量をランダムに変更してみてもよし。

ぐるぐる変わる色相環、IoTで回転する速さを変えるプログラム

10 T=100 20 PWM2,0,T:PWM3,T,T:PWM4,0,T 30 FORI=0TO5:FORH=0TOT:PWMI%3+2,ABS(I%2*T-H),T:NEXT:NEXT 40 N=IOT.IN():IF N T=N 50 GOTO 20

40行を消せば、IchigoJam ver 1.2.3 でも普通に動きます! T=RND(100) としてもかわいい。


こちらパーツ!


抵抗をはんだづけ。


次にフルカラーLEDをはんだづけ。アノードコモンとカソードコモン、見た目はほぼ一緒ですが、2種類あるので注意です!


ちょっとピッチが狭くて難しいフルカラーLED部分のはんだづけは、製品版では難易度下がる予定。


完成!

商品化、楽しみですね!
実物を見たい方は、PCN秋葉原Assemblageへどうぞ。
G空間ハッカソン in 福井でも活躍した、IchigoSoda で、かんたんIoT、ぜひ IchigoJam BASIC ver 1.3 でお試しください。

3社共催、親子プログラミングイベント、楽しんでくれました!

2019-2-3 はじめてのIoTデータ活用 親子プログラミングワークショップ

かんたんデータ管理の kintone(キントーン)の サイボウズ
かんたん格安IoTの sakura.io(サクラアイオー)の さくらインターネット
かんたんプログラミングの IchigoJam(イチゴジャム)の jig.jp

人間業じゃない計算力と記憶力を持ち、世界中とつながるコンピューターくんを味方にしよう!
「データで遊ぶ」をテーマに、その入口を親子で楽しく体験するイベント。

スライドダウンロード
はじめてのIoTデータ活用 親子プログラミングワークショップ kintone x sakura.io x IchigoJam (PDF)


サイボウズ社長室ビジネスプロデューサー 中村龍太さんから、kintoneの魅力をご紹介!
牛乳で身長は伸びる?運動で身長は伸びる?データで検証してみよう!


まずはプログラミングはじめの定番、LEDの制御、エルチカゲーム、エルチカロボット、かわくだりゲーム!
電子工作も、プログラミングも、極力シンプルでインパクトあるものにとチューニングしています。


本題、IoTとは? IoT = Internet of Things、(人じゃなくて)モノのインターネット
いろんなものとネットを通じて話ができたり、モノとモノ同士がお話したりする世の中のスタートです。


インターネットは、世界100億台のコンピューターがつながったもの。
2台のIchigoJamをつないでネットワーク実験!
子供2人、Aさん、Bさんとしてペアになって、順番に操作!


遠隔操作、ブロック、チャット体験、コンピューターはつなぐともっとおもしろい。


今回使ったIchigoSodaは、IoT通信モジュール sakura.io が内蔵されたIchigoJam。

こちらが1行ずつ、楽しくキーボードからタイピングしてできあがった、かわくだりゲーム!

10 CLS:X=15 11 CLT 20 LOCATE X,5:?"O" 30 LOCATE RND(32),23:?"*" 35 WAIT 3 36 X=X-BTN(LEFT)+BTN(RIGHT) 39 IF SCR(X,5) GOTO 50 40 GOTO 20 50 ?"GAME OVER!" 60 S=TICK():?S

1行足すだけで、IoTエディションのできあがり!

70 IOT.OUT S

かわくだりゲームが、みんなの反射神経を計測するIoTデバイスに早変わり!


kintoneでみんなから送られたデータをみよう!


かわくだりゲーム、スコアランキング!
しばらく放っておいたらチートされてすごいスコアにw


大人の問題、子供がチャレンジ!
お父さん、お母さんに課題を聞いて、IoTでどう解決するか考えてみよう!
「大人の課題」とかけて「子供の好きなもの」と解く、その心は?
と、なぞかけ形式にして、即興で答えを出してもらうのもいいかも。
時間があれば、じっくり時間をかけて「こどもIoTハッカソン」が楽しい!
(課題例:留守中の火災が怖い → 創電さん、IchigoSodaで、IoT火災報知器「火守くん」を開発、販売!)


自由時間、果敢にサーボや光センサーに挑戦する子供たち!


kintone の今回のイベントページ。質問や、感想などもこちらに描いていただきました。
右側にあるアプリがメイン!


お父さん参加が多かった、今回の親子ワークショップ。親子で楽しくプログラミング、ぜひご家庭でも!


自分でつくれる IcihgoJam、秋葉原にある PCN秋葉原Assemblage ではんだづけできますよ!


楽しい作品、PCNこどもプロコンへぜひどうぞ!
決まった、第9回のノミネート作品はこちら。
PCNこどもプロコン2018 一次審査結果発表 | PCN プログラミング クラブ ネットワーク


ちょうど節分!


kintone x sakura.io x IchigoJam IoT.OUT
大人も楽しいかんたん、IoTプログラミング!

IoTでデータを気軽に集めて、kintone のグラフでいろいろデータで遊んでみると、また新たなデータが欲しくなる。
オープンデータを含めて、たくさんデータを集めてできたビッグデータ、かんたんAIを使ったアドバンストコースも楽しそう!
さくらインターネットさん中心で進む、宇宙オープンデータプラットフォーム「Tellus」β公開しています!

Tellus


本日の機材、準備らくらく IchigoJamスピードパックのIchigoSoda&わくわく電子工作キットバージョン
こんの研修してみたい!機材提供など、ご相談ください!

技術的なお話

IchigoJam ver 1.3 で正式対応した、IoT.OUT を使って、64円/月/1万回通信の格安IoT sakura.ioを通じて、1コマンドでネットへ送信。 Python3 で sakura.io から WebSocket で受け取ったデータ kintone REST API で、kintone アプリに送信、グラフ化などが簡単!というシカケ。


通信モジュールを sakura.io の管理画面で登録、サービス連携として、WebSocketを設定。
ここで表示されるトークンを使います。


ドラッグ&ドロップでできちゃう、kintone上でのアプリづくり。
かわくだりゲームのスコアランキングアプリは、「文字列(1行)」でモジュール番号、「数値」でスコアを入れることにします。
設定、APIトーク、生成する、アクセス権、レコード追加にチェックをいれて、こちらのAPIトークンと、例として URL app=?? と書かれている ID を使います。

こちらPython3のプログラム、WebSocketで受け取ったデータを、kintone に送る

import http.client import websocket import json import ssl SAKURA_TOKEN = *sakura.ioのトークンを設定* KINTONE_DOMAIN = "*kintoneのドメインを設定*.cybozu.com" KINTONE_TOKEN = "*kintoneのAPIトークン" KINTONE_APPID = *kintoneのAPP ID* SAKURA_MODULE = [ { "id":"m01", "module":"*モジュールID1*" }, { "id":"m02", "module":"*モジュールID2*" }, ] def getModule(moduleid): for item in SAKURA_MODULE: if item['module'] == moduleid: return item['id'] return None def sendData(module, val): record = { "app": KINTONE_APPID, "record": { "文字列__1行_": { "value": module }, "数値": { "value": val } } } requestJson = json.dumps(record) headers = { "Content-Type": "application/json", 'X-Requested-With': 'XMLHttpRequest', 'X-Cybozu-API-Token': KINTONE_TOKEN } connect = http.client.HTTPSConnection(KINTONE_DOMAIN) connect.request("POST", "/k/v1/record.json", requestJson, headers) response = connect.getresponse() print(response.status) data = response.read() print(data.decode("utf-8")) def on_message(ws, message): data = json.JSONDecoder().decode(message) mestype = data['type'] if mestype == 'channels': module = getModule(data['module']) val = data['payload']['channels'][0]['value'] print('on_message: ' + module + " -> " + str(val)) sendData(module, val) if __name__ == "__main__": websocket.enableTrace(True) path = "wss://api.sakura.io/ws/v1/" + SAKURA_TOKEN ws = websocket.WebSocketApp(path) ws.on_message = on_message ws.run_forever(sslopt = { "cert_reqs": ssl.CERT_NONE })

*参考
レコードの登録(POST) – cybozu developer network
IchigoSoda スタートガイド — sakura.io ドキュメント
WebSocketでの通信内容の確認 — sakura.io ドキュメント


あとは受け取ったデータでグラフをつくるだけ。こちらも選択ボックスから順番に選ぶだけ、右側にプレビューがあるのでわかりやすい!


かわくだりゲーム、一番たくさんやったのはだれかなランキング!
いろんな切り口のグラフが、簡単に作って、すぐにグループ内で共有できます。


sakura.io、イベントアラートを設定しておけば、いつのまにかすごい数が通信されてしまう心配も無用。
切断アラートを使えば、電池切れや意図しないトラブルの検出もできます!

* 撮影協力、チアプログラミング 浅井さん

links
- 小学生がつくるIoTプログラム教室、サイボウズ、jig.jp、さくらインターネットが共催 - BCN+R
- はじめてのIoTデータ活用 親子プログラミングワークショップ レポート | CSAJ 一般社団法人コンピュータソフトウェア協会

愛知県豊田市にある豊田高専。愛知高専ではない。福井高専は鯖江市にあるが、鯖江高専ではない。
高知高専からスタートした、IchigoSodaを使った出張IoT&情報セキュリティ入門、今回も楽しんでもらえました。
創造モチベアップに期待!


情報工学科2年生、IchigoSodaを使ったIoTプログラミング研修&情報セキュリティ入門。

情報工学科1年生にも楽しいIoTプログラミングの世界を紹介。
webアプリ+電子工作で広がるIoTというイノベーションの種!ぜひ気になるもの、身近なものから取り組みましょう!


こちら4年生、プログラミングに慣れている学生でも、サクッとゲームが作れる感はウケが良い。
ALT+C を押すと、ネコ絵文字登場!敵キャラを出して、ループすれば早速現れるゲーム感。
かわくだりゲーム - IchigoJamプリント


IoT化した端末から続々と送られてくるスコア、ランキング表示で盛り上がる!


ヒストグラム表示で全員のデバイスから送られて集まるビッグデータ感を体験。


チートOK宣言をした後、荒れたヒストグラム。
データに罪なし、誰にどこまで許すか、情報セキュリティは設計次第!


4年生授業後、豊田高専出身、鳥羽商船高専を経て、現在豊田高専の先生、都筑さんと。
今年度のインターンあさしぐれ、起業家甲子園メンバーも!


クイズ Q4愛知 - q4js
福井編に続き、愛知編、数が多いので10問勝負としました。
ぜひ、みなさんの愛知度、測ってみてください。

豊田高専学生のコメントを受けて、問題文が徐々に表示するように改良。
簡単JavaScriptフレームワークで、手軽なスマホアプリづくり、ぜひやってみてね!(src on GitHub
地図フレームワーク「egmapjs」、万華鏡フレームワーク「webbasarajs」もどうぞ。


いろんなキャッチフレーズがあって楽しい。
「書のまち」で検索するとちゃんと「春日井市」がトップで表示!特化するまち、いいですね。


豊田高専散策、ちょっと狭そうだけどきれいな寮!全体で約600人のキャパがあり、1-2年生は基本寮生活。
1-2年生はパソコン持ち込み禁止という規定はかなりユニーク。
自治で運営しているという寮、規定はどのような思いで作られ、今後どうしていくのか、興味深い。
福井高専では、通学制でしたが、いろいろ聞くほどに寮経験がうらやましくなります。これから高専に行く人、ぜひ!


80円のデザートがうれしい、豊田高専学食!


学科ホームページのリュニューアルアイデア募集がおもしろい!
オープンデータ対応で、アプリフレンドリーなページづくりを目指してみるのもおもしろいかも?


放課後、オープンデータアプリコンテスト、宇部高専生と豊田高専生のチームが最優秀賞獲得!
豊田高専コンピュータ部などのみんなと祝賀会!


大きな唐揚げ!


途中、通った名東区、上社JCT、初めてのパソコン、MSXをGETした、幼稚園年長から小3までを過ごした場所!
名古屋市名東区のキャッチフレーズは「文化薫る、活気と思いやりのあるまち」

人が輝く、躍進するまち!
がんがん新しいもの創っていきましょう!

IoTプログラミング体験、情報セキュリティ入門、全国の高専へ伺います!

links
- 高専IT系部活 #kosenit Advent Calendar 2018 - Qiita
- 豊田高専コンピュータ部について - onsd’s blog
- 1時間半でわかる叡智の結晶「IoT」 - IchigoJam x sakura.io 情報セキュリティ実習 in 高知高専

IchigoJamは、MSXに習って、上位互換。
こどものお小遣いでも手が届く「安さ」と「学びやすさ」にこだわるIchigoJam。
大幅な機能拡大や、容量アップを行わない、変わらない安定感がウリです。

IchigoJam ver 1.2.3 の使い勝手をそのままに、IoTと、ちょっとした改善の積み重ねた ver 1.3。
IoT/オープンデータ/ビッグデータ/AIでも連携する、さくらインターネットさんとの共同プレスリリース。
回路もCPUも変更ないので、いままで全てのIchigoJamをバージョンアップできます!

餅は餅屋。いろんな業種の人による「プラスIoT」が熱い!
さくらインターネット「IchigoSoda (=IchigoJam x sakura.io)」のIoT火災報知器。

火災報知器と連動した無線通報端末「火守くん」を“IchigoSoda”で開発 - 導入事例・構成例導入事例・構成例
「子どもの頃、プログラミングが好きでBASICでゲームを開発していたんです。これなら私でも開発できると考えました」と社長の刀根さん自らが開発! 大人も楽しいIoT、IoT研修などのお問い合わせもどうぞ!(ichigojam@jig.jp)

2/3(日) サイボウズさん、さくらインターネットさんとも共同で、IchigoSodaを使った、IoT親子ワークショップも開催!
はじめてのIoTデータ活用 親子プログラミングワークショップ kintone x sakura.io x IchigoJam - さくらのイベント(関東版) | Doorkeeper

IchigoJam BASIC ver 1.3、5つの主な変更点
1. コマンド1つで IoT
2. ちゃんとした RENUM
3. 打ちやすくなったローマ字と絵文字
4. ゲームの幅広がる、カーソルスイッチ
5. 70% 高速化

1. コマンド1つで IoT
月額64円(年間でも768円)で実現できちゃう4G/LTEを使ったIoT。 さくらインターネットの sakura.io をIchigoJamと接続するお手軽IoTをもっと手軽にするIoTコマンドを搭載!

IoT.OUT 1 OK

IoT.OUTコマンドで16bitの数値が送信完了!sakura.ioの管理画面でリアルタイムにデータが届く様子が見えます。 受け取りたいサーバーのアドレスを打ち込めば、webサービスと簡単に接続できますし、WebSocketを使えばリアルタイムに動作するアプリをJavaScriptなどで簡単に作れます。

反対に、ネットから受け取るコマンドは IoT.IN()

?IoT.IN() 5 OK

スマホから家の内外にある家電・ロボットの遠隔操作だってできちゃいます。

いままでのIoTコマンドでは配列や、PCG領域などを使っていましたが、新たなRAM領域を使うようにしたので、使い勝手アップ!

確保した新しいRAM領域(#114A-#117F)の54bytes、ご活用ください!(IchigoJam ver 1.3 メモリマップ
また、I2Cの初期化処理を変更時のみに限定し高速化、BPSの第二パラメータでI2Cの通信速度設定にも対応しました。

2. ちゃんとした RENUM
プログラムに機能をどんどん足していって、ごちゃっとしたものをきれいに整理することを、リファクタリングといいます。 行番号でプログラムを管理する IchigoJam BASIC、10刻みではじめて、間に1刻みでいれていったのに入らない!そんな時に使う RENUM ですが、今までは行番号の振替に非対応でした。

1 LED1:WAIT10 2 LED0:WAIT10 3 GOTO1 RENUM 10 LED1:WAIT10 20 LED0:WAIT10 30 GOTO1 RUN Line error in 30 30 GOTO1

GOTO1が書き換わらないためエラーになり、手で振り直しが必要だった、ver 1.2.3。
ver 1.3 では、番号振り直しに対応したので、リファクタリングがはかどります!
ただし、プログラムの容量を変えない方針で書き換えるので、GOTO1 が GOT100 という形でコマンドにめり込む形になるので、そこは手で修正してあげください。

1 GOTO1 RENUM 100 OK 100 GOT100 OK

3. 打ちやすくなったローマ字と絵文字
キーボードを使いこなすこと、現代のコンピューターを活用する上での必須スキル。 試験の現場でも効率化のため、手描きからキーボード入力への切り替えが進むのは間違いないでしょう。 幼稚園児でもわかるアルファベットのABC、次のステップのSHIFTキーを伝授する前に、ALTキーを使った絵文字遊びがオススメです。

今回の変更で、右ALTと左ALTの違いをなくし、押しても出なかったWXYZも矢印絵文字として割り当てたので、アルファベットと合わせてお楽しみください! 「ALTを押しながらC」で感覚をつかんだら、「SHIFTを押しながら8」などもスッと伝わります。

またローマ字入力 KAK と3つキーを押した時の違いです

' ver 1.2.3 カ ' ver 1.3 カK

このように打ったキーがそのまま表示するようにしたので、打ち間違いを修正しやすくなり「キーを押しても何も出ません!」というケースがなくなります。

通常のパソコンと違って、漢字変換がないので、シンプルにローマ字入力のみを学べます。
Nの区切りとして「'」にも追加対応し、小学校でのローマ字の学習にオススメ「日本式ローマ字」にも対応!
小学校で教えるローマ字は日本式で決まり! IchigoJamプリント「ローマじでうつ、カタカナ - こくごコース」と授業計画例

また、意図せず「OK0」コマンドを使ってしまい「エラーメッセージがでません!」となるケースに対応し、表示なしは「OK2」へと変更。

RNDと「(」の間に空白をいれてしまうと Syntex error と、エラーが起きてしまう分かりにくい間違いを防ぐために、空白無視への変更。

' ver 1.2.3 ?RND (6) Systax error ' ver 1.3 ?RND (6) 5

4. ゲームの幅広がる、カーソルスイッチ
位置を指定するコマンドLOCATE(省略形LC)の第三パラメーターに1を指定すると、点滅するカーソルを表示できるようにしました。

ゲームで学ぶ、アルファベット! LOCATEの第三パラメーター、カーソルスイッチ実装
パズルゲームなどにオススメ!ベーマガへの投稿の際は IchigoJam ver 1.3 と明記しましょう。
逆に、1.2.3で、カーソルスイッチでエラーになってしまう場合は、第三パラメータを消し、自前でカーソルを表示するように改造すればOKです!

5. 70%高速化
速度より機能優先の IchigoJam ですが、せっかくのバージョンアップなので内部ロジックチューニングで少し高速化。
いままでちょっと重いなと思ったゲームが、遊びやすくなります。
1.3にして、いろいろ工夫してもまだ重い?100倍高速化するマシン語を使うのも手ですよ!
はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

その他の変更
BPSで-100以下を指定することで、シリアル通信速度の高速指定に変更(BPS-2304 → 230400bps)
UART4(bit2が1)でキー入力をシリアル通信にエコーバックモード
プログラム実行時にキーバッファをクリアしないように変更
FILES0,0でファイル0のみ表示するよう変更
SOUNDピンをマシン語で使用可能に変更(SOUND()に反映されない不具合修正)
SWITCH時のバージョン表示廃止

IchigoJam BASIC ver 1.3、変わらない点
- NXP LPC1114 向け、IchigoJam BASIC が動く24KBのOS(回路に変更無いので全IchigoJamバージョンアップ可能)
- プログラムは1KB(約1000文字)、4つまで本体に保存可能(0番はボタン押しながら起動で自動起動)
- 32x24テキストスクリーン、64x48のハーフグラフィックス(PCGでパターン変更、VIDEO3などで拡大表示対応)
- 小さなこどもでもわかりやすい、アルファベット大文字を基本に、ローマ字入力でカタカナ入力にも可能

IchigoJam BASIC ver 1.3 リファレンス
IchigoJam BASIC リファレンス ver 1.3
IchigoJam BASIC reference ver 1.3 (英語版)

バージョンアップ方法
店頭のIchigoJamは順次、ver 1.3 へと置き換わっていく予定です。
お手元のIchigoJamも、自分でバージョンアップに挑戦したり、書き換えサービスで、ver 1.3 へと更新できます!
ダウンロード | こどもパソコン IchigoJam - はじめてのプログラミングパソコン(1500円)

links
- こどもIoTを実現する、こどもパソコン『IchigoJam』ver 1.3 をB Inc.がリリース ~さくらインターネットの『sakura.io』を利用した通信用コマンドを標準搭載~
- こどもIoTを実現する、こどもパソコン『IchigoJam』ver 1.3 をB Inc.がリリース | さくらインターネット
- コマンド1つでIoTも可能な1,500円のこどもパソコン「IchigoJam BASIC ver1.3」 - PC Watch
- 子どものプログラミング教育向けに開発された「IchigoJam BASIC」のver1.3がリリース:EdTechZine(エドテックジン)
- ASCII.jp:子供パソコン「IchigoJam BASIC」、さくらインターネットのIoTに対応

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