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

小金井市教育委員会教育長、大熊雅士さんの講演に見えた明るい日本の未来。
前原小が描く新しい「学び」のPerspectiveー総務省「『次世代学校ICT環境』の整備に向けた実証」事業報告会 | Peatix


小金井市「ICT&プログラミング Flag City宣言」参加者300人超!


既存のカリキュラムで失敗できる数は年5回程度。コンピューターを実際使ってできる失敗の数は1日に100回以上!(年35時間、3,500回!?)
桁違いのチャレンジ数が、あきらめない、ねばり強いこどもたちを育成する。


先生が用意した答に話し合ってたどり着くなんちゃってアクティブラーニングではなく、山登りの如く、先生も共に歩み誰も知らない解決策を導く、アタック思考。
教育長大熊さんの名言、共悩共歩 - 先生も子供も「共に悩み、共に歩む」


前原小6年生、IchigoJamプログラミングの授業参観後、披露してくれたタイピングのスゴ腕!
自分で作った作品を見せてくれたり、ヒントから分かって大喜びしたりと、何より、子供たちが楽しそう!

披露してくれたお礼に、IchigoJamで簡単カスタマイズできるタイピングゲームをプレゼント。
(検索用キーワード、イチゴジャム、タイピングゲーム、イチゴタイピング)

10 LET[0],"LED","WAIT","GOTO","LC","RND","IF","SCR","END" 20 CLT:FOR I=0 TO 7:S=[I] 30 CLS:LC1,10:?STR$(S):INPUT A:F=1:FOR J=1 TO LEN(S):F=F*(SCR(J,10)=SCR(J,11)):NEXT:IF F=0 BEEP:CONT 40 NEXT:?TICK()

10行を好きな単語、得意な単語、覚えたい単語にしよう。カタカナでもOK!入力したらエンター
全7問を答えたらタイムが1/60秒単位(600で10秒という意味)で表示されるので、競争してみよう!
(問題数を変えるときは、20行の7を変えよう)


1809位と下から数えたほうが早い小金井市のIT水準を一気に巻き返し、日本最先端になった理由は、教育委員会、学校長、教員の数多くのトライ&エラー。


松田校長先生「見えた、前原のプログラミング!」


大変な教育現場でも、こどもたちの未来のために最高の環境を提供する覚悟。


覚悟をささえるIT。


学校内のIT活用、Q-UとWeb Q-U もスゴい!


プログラミングは、新しい「学び」の象徴!


前原小のプログラミングにかける時間、1-2年生で15時間/年、3-6年生で35時間/年!
6年間で、170時間!この差はどう出るか!?


1年生から6年生まで、IchigoJamフル活用。


上越教育大学の山崎さん、世界の教育から俯瞰した前原小学校のコンピューティング/STEAM教育の特徴
前原モデルは、世界レベル!


今までの教育と全く異なる、今求められている教育。


高度IT人材に引き上げる、一般社団法人 未踏、未踏ジュニア代表の鵜飼さんLT。


拡張ペアプログラミング、「読み聞かせ」のプログラミング版「組み見せ」
ちょうどこの日、ミャンマーでのPCN&KidsVentureが、日テレニュースに登場!


ミニ講演スライド「なぜ IchigoJam をつくったか? (PDF)


前原モデルに衝撃を受けつつ、現場の負担少なくかつ効果的にコンピューターを子供たちに伝え、引き上げる「総合2コマ」と「クラブ活動」のススメ。
動画&スライド公開、プログラミングB分類、総合と英語2コマ使った「はじめてのプログラミング」 - 鯖江市進徳小学校でモデル授業
(総合、英語の2時間としていますが、総合2コマでもOK)


小学1年生向けプログラミング!
カトラリーカードのタブレットアプリ版「CutleryApps」を使って、IchigoJamプログラミング!


コンピューターにやってほしいことを、カードを並べ、じっこう(RUN)すると、光る!
カードを裏返すとBASICのコマンドになっているので、上位学年へもスムーズにステップアップ。


2年生は、こどもじどうしゃ Radish を使った、自動運転プログラミング!
みんなで協力し合う姿もいい!
PCN×mottoy!「こどもじどうしゃRadish」が公式名に! – about yrm


3,4年生には、タミヤ、カムロボを使ったロボットプログラミング。
先生の用意した教材がとってもいい!


5-6年生は、IchigoJam で思い思いのプログラミング作りに取り組む。


6年生は、さらに一歩先ゆくJavaScriptも!
IchigoLatte (IchigoJamにインストール可能なJavaScriptで開発可能なOS)


ひとり1台持っているChromebook、それぞれがYouTubeの動画を見ながら進められるようにイヤホン付き。


プログラミングの時間が終わったら、まなびポケットでふりかえり。


前原モデル、世界へ!

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

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 地域フィールドラボ事業報告会 - 現場での恊働とデータが生むイノベーション

Programming for Kids in the hospital!
院内学級のこどもたちにプログラミングを!

We PCN provide the IchigoJam programming caliculum for 2 kids at the hospital in Fukui. They enjoyed programming about LED, TV gaming, Cam-Robot (by Tamiya), the illumitations.
院内学級に通う、小学生2名向けPCN出前授業、エルチカロボ、かわくだりゲーム、カムロボ(by Tamiya)、イルミネーションプログラム体験、喜んでもらえました!


Let's start programming with IchigoJam!
こどもパソコン IchigoJam で、はじめてのプログラミング!


Kids made the first TV game!
初のテレビゲームづくり!


Mr Matta showed how to manipulate the robot.
ロボット制御を紹介する、松田さん。


Kids tried to control the robot!
カムロボ制御にも挑戦しました!


The 100 yen illumination controlled by IchigoJam and MapleSyrup!
100円均一で売ってるイルミネーションをIchigoJamとMapleSyrupでコントロール!

1 OUT 1 2 WAIT 5 3 OUT 16 4 WAIT 10 5 GOTO 1 RUN

It's easy! とってもかんたん!


You can program the drone also!
ドローンだって、プログラミングで飛ばせちゃう。


Thank you for kids and teachers in the hospital school. 院内学級のこども&先生、ありがとうございました!


Illuminations form Myanmar! (PCN Mynmar – about yrm)
ミャンマーからのキラキラするお土産!(PCN Mynmar – about yrm)


Hand made 300 LEDs (12 x 5 x 5) are controlled by program.
手作り配線 12x5のマトリクス x 5、300コのLEDのプログラム制御!


How useful! 便利!


The PS/2 keyboard from Myanmar.
PS/2対応ミャンマーのキーボード!US配列ですね。


PCN Kenya has started to provide programming for kids in Africa!
PCNケニヤもアフリカのこどもたちへプログラミングを伝える活動スタート!


Review: IchigoJam Single Board Computer | Hackaday
IchigoJam on HACKADAY!
HACKADAYにて IchigoJam 紹介されました!

PCN プログラミング クラブ ネットワーク
PCN's mission is "Programming for All Kids!". Anyone can start PCN. Let's PCN!
PCNのミッション「すべてのこどもたちにプログラミングを!」誰でも初められます。PCNしましょう!

links
-
院内学級で2人に伝授完了!プログラミングを楽しんでいる姿をみんなに見せているあなたはすでにPCN! – about yrm
- ミャンマーのこどもプログラミング、一気に全土へ!行動力あふれる若き国に「PCNミャンマー」誕生! – about yrm

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 一般社団法人コンピュータソフトウェア協会

ver 1.3、ちょっとメモリの使い方を誤り、ver 1.2.3 で動いていた数式で動かない問題が発覚。

P=PEEK([0]) Complex expression

このエラーは、数式が複雑すぎる時にでるエラー。

例えば 3+(2*5) という計算をする場合、
1. まず3と、足し算する必要あり、と覚える
2. 括弧があるので、さらに2と、かけ算する必要あり、と追加で覚える
3. 5とかけ算し、10と覚える
4. 覚えていた3と足し算し、答は13
という感じのプログラムが IchigoJam BASIC というOS(オーエス、基本ソフト)の中で動いてます。

計算と記憶が得意なコンピューターくんですが、無限に記憶できるわけではありません。
IchigoJamで使える容量は、4kbyte、32768bit。3万個ちょっとの0か1のデータを記憶できます。
(4kbyte = 4 x 1024byte = 4096byte = 4098 x 8bit = 32768bit)

メモリをどのように使っているか表す図をメモリマップといいます。
IchigoJam BASIC on LPC1114 RAM メモリマップ (ver 1.3 beta 6)


計算式の中で、後から使うものはどんどんスタックに積んで、一時的に覚えていきます。
LPC1114では、スタックを末尾のアドレス 10000FDF から、小さくなる方向に向かって使っていきます。

一次記憶がどんどん溜まっていくと・・・、そう、この図でいうとI2Cバッファ、コマンドラインバッファの順に浸食していってしまうのです。 ちょっといいCPUだと、このような浸食を防ぐための仕組みがありますが、シンプルなCPU LPC1114にはありません。

そこで計算途中にスタックの今使ってるポイントをチェックして、溢れそうなら Complex expression エラーを出すように作ってあるわけです。 ver 1.3.0 では、IchigoJam BASIC OS用変数領域がちょっと大きく、そのメモリ位置をスタックのすぐ上にしてしまったことで、フリーズリスクが高まってしまっていました。 (ARM 関数呼び出し引数の渡し方 - Qiita

こちら、ver 1.3 beta 6は、上記のようにOS用のメモリの使用量をちょっと削減し、物理メモリの先頭に配置、万が一のスタック溢れにも最悪I2Cバッファやコマンドラインバッファの破壊までにとどめて、フリーズすることがある不具合を解消しました。
IchigoJam 1.3b06.zip

このようにメモリギリギリの戦いにはArmマシン語を含むコンピューターそのものの知識は欠かせません。興味がでた方、こちらからどうぞ!
Armマシン語入門

中学校の技術離れ。昭和51年まで315時間あった技術の時間は、今は88時間と約1/4。
しかも、木材、金属、電気、機械、栽培という項目は必須のまま、情報基礎が増えている。
技術・家庭科の学習指導要領の歴史的編成と現在の教育情勢より)

荏原第六中学校での技術の時間、中学2年生では週1時間、中学3年生は隔週で1時間しかないとのこと。


モンゴル高専つながりで始まった荏原第六中学校での、IchigoJamプログラミングも3年目!
今年は、都立高専品川キャンパス&近隣PCNメンバーで開催!


「コンピューターはどこにいる?」で授業スタート!
前週まで2コマ使って、IchigoJamのはんだづけをしてくれていたので、みんな使うのはマイIchigoJam。


入力、出力、電源、ケーブルを自分でつないで、スイッチON!(講師、PCN品川代表、清水さん)


自分ではんだづけしたLED、自在に制御できました。
SAVE0、ケーブル外して自動起動で、エルチカロボット完成!
「IchigoJamがかわいく思えた」と嬉しい声。


続いて、テレビゲームをつくるよ!で起きる歓喜の声。キーボードを打つスピードもアップ!(講師、PCN上田代表、斉藤さん)


さすが中学生、自分なりにアレンジを加えつつ、テレビゲームづくりを楽しんでもらえました。


IchigoJamを使った応用作品の展示に、興味津々なこどもたち。


ロボットもゲームも自分で作れる!
もちろん複雑なロボット、複雑なゲームには、それなりに技術が必要ですが、インターネットがある現代。
自分で学習し放題、創り放題!


技術の部屋に展示してあったロボットたち。プログラムが透けて見えるようになったはず。


同じく展示されていたステキ作品、IchigoJamとサーボモーターや、センサーを加えると一段とおもしろくなりますよ!

いい作品ができたら、PCNこどもプロコンに応募しよう!
今年中学3年生になる2年生たち、今から春休みにかけての取り組みが受験前でいいのかな?
技術好き、コンピューター好きなら、技術の時間だらけな高専を、選択肢として加えよう!
(なんと、普通高校には技術の時間がない!?)


中学校プログラミング、都立高専PCN品川PCN上田PCN秋葉原AssemblagePCN鯖江メンバーでの出張講座は大成功!


はじめてのプログラミング with IchigoJam (PDF)
中学生向け50分授業でざっと体験してもらうためのスライド、エルチカからかわくだりゲームまで。
次週の1コマでは、ゲームの改造や、ボタンやセンサーを使った計測をしてみよう!

10 CLT 20 IF BTN()=0 GOTO 20 30 T=TICK():?T/60;".";T/6%10

こちら本体ボタンを使った時間を計測、ストップウォッチプログラム。
20行の BTN() を INKEY() に変えるとキーボードの何かキーを押したら時間を表示に変わるよ。

詳しく知りたくい人へ
辞書「IchigoJam BASIC リファレンス
教材「IchigoJam プリント
質問「Twitter で #IchigoJam 付きで投稿!

links
- The First Embedded Programming for All 2nd Grade Kids at the Ebara 6th Middle School in Tokyo (2017年)
- 中学生向けプログラミングの授業モデル / LEDから学ぶ単純作業のアウトソース、ゲームから学ぶアプリづくり - 荏原第六中2年生の50分授業 (2018年)

愛知県豊田市にある豊田高専。愛知高専ではない。福井高専は鯖江市にあるが、鯖江高専ではない。
高知高専からスタートした、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 高知高専

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