1800年代、フランスで撮られたステレオ写真、4枚加工してVR美術館風に表示させるアプリで鑑賞してみました。

VR-streophoto
Oculus Questだと、歩いて近づいたり、しゃがんだり、ジャンプしたり、回り込んだりと自由に鑑賞できて楽しい。 スマホVRでも立体写真としての鑑賞OKです!

A-FRAME上のステレオ写真の表示には、@binzumeさんのこちら記事のプログラムを使わせていただきました!
A-Frameでステレオ画像をテクスチャとして使う - Qiita

データは、CC0のオープンデータとして公開されている、パリの美術館画像コレクションにステレオ写真が1400点!? (tweet by @wakufactory)
おもしろそうな写真をダウンロードして、中のjpgデータから左右写真を切り出し、比を計算するratiocalcで、アスペクト比を合わせて、A-FRAMEのa-planeタグで置くだけ!


フランス美術館の立体写真

立体スキャンしたデータを並べて、VR美術館づくりも楽しそうです!

文部科学省から発表、小学校プログラミング教育の準備状況。
93%が準備OKたった7県しかできていない黄色信号
データの見方は人それぞれ、原典にあたるのが一番です。機械判読に適しているとは言えませんが、PDF内に表形式でデータがあったので、オープンデータとみなして、CSVに加工、アプリ化したものがこちら。


小学校プログラミング教育準備状況ダッシュボード
行政区の数え方、回答のあるなしなど、興味深い点はいろいろありますが、ひとまず、オープンデータ都市率と同様、カラム地図化。 CSV化したオープンデータで誰でも自由に解析いただけます!

さすが、福井県、100%!

ただ、全然安心してはいけません。何が100%かというと「各校1人以上の教員が、実践的な研修、または、授業・模擬授業を実施済と把握している」と回答した教育委員会の数に過ぎません。実際こどもたちにどう伝わるのかは未知数です。 アンケートに、すでに実施している(一部、全校)、学年、時間数、授業課目など、より踏み込んだところを聞いてほしいところでした。

ちなみに、鯖江市は、12校、全校実施済み、4年生、総合的な学習の時間2コマ!
(参考、総合2コマから始める鯖江の小学校プログラミング! 総合的な学習の時間、IT遊具、クラブ活動、地域ICTクラブ、高度IT人材へのベストプラクティス

今日は、将来の幼稚園保育園小学校の先生を育てる、仁愛大学 子ども教育学科のみなさんに小学校プログラミング教育の模擬授業。

LED制御、テレビゲームづくり、ロボットプログラミング、ドローン制御まで、1時間半、楽しく学んでくれました!


1行ずつ打ち込む、ゲームづくりは、大人も子どもも学生も楽しい!


読み書き、プログラミング! YouTubeなど動画で学習、発信する時代の読み書きも変革が必要そう。


世界各国で進むこどもプログラミング、うかうかしていると日本のこどもたちだけ置いていかれてしまいます。
それより恐ろしいのは、日本だけで進むこどもパソコン離れ。
世界で唯一、日本の子どものパソコン使用率が低下している | ワールド | 最新記事 | ニューズウィーク日本版 オフィシャルサイト
デジタル化が遅れている日本、今使わない人が多い中、いかにこどもたちにパソコンの楽しさを伝え、持ってもらうか。
PCNの答は、ネット不要のこどもパソコンIchigoJamと、ノートパソコンが当たる、PCNこどもプロコン


IchigoJamならLED制御、センサーで計測、ロボットプログラミングも簡単!
コンピューターの速さ、知ってますか?頼りになる相棒を使いこなせるようになると楽しいですよ!


一番の盛り上がり、ドローンプログラミングデモ!

こちら本日のスライド(福野分)、編集改変も自由なオープンデータなので、復習に、ワークショップに、どうぞ活用ください!


最後はTHETAで記念撮影、仁愛大学のみなさん、ありがとうございました!
プログラミングしたくなったら鯖江にあるHana道場までふらっと遊びに来てください!

今月は、金沢、岡山でも模擬授業あります!
総務省主催「地域ICTクラブ プログラミング教育フォーラム」が令和2年、金沢と岡山にて開催されます!
令和2年1月23日(木)14時~17時 TKP岡山会議室(〒700-0826 岡山県岡山市北区磨屋町1-6
基調講演 金沢市のD、松田孝さん、広島、福井、横浜の事例と模擬授業 (PDF)

令和2年1月27日(月)14時~17時 金沢市文化ホール3階大会議室(〒920-0864 金沢市高岡町15番1号
基調講演 Hana道場運営もしている竹部美樹さん、福井、埼玉、広島の事例と模擬授業 (PDF)

日本全国市区町村すべてに、オープンデータをリーダーを!
オープンデータリーダ研修事業、千葉県にて講演&サポートに行ってきました。

研修のインプットタイム、アイデアソンでも登場した、ごみに関するオープンデータ。 odpでは、横展開可能な5つ星オープンデータにて、鯖江市、三島市、品川区のデータが標準API、SPARQLで使えます。

ふと気になった、分別の違い。早速作ってみたのがこちら。

ごみ分別オープンデータ(鯖江市&三島市)
絞り込みフィルタを使って、かんたん検索!鯖江市では「CD」は資源ごみ!?
まだ使えるものは「オタマート」への出品もどうぞ!

ごみ名が一致するものを上位に表示しています。完全一致するものが13件。「食用油」、三島市では「燃えるごみ」、鯖江市では「資源物」と違います。 みなさんの自治体ではいかがでしょう? 「燃えるごみ」と「燃やすごみ」、「粗大ごみ」と「大型ごみ」、「危険不燃物」と「有害物」などの用語や定義の違いもありますね。

インプットタイム、地域事例紹介「オープンデータの活かし方、創ろう、世界最先端国家


オープンデータとは何か?難しく考えなくて大丈夫です。自由に無料で使えちゃうweb上のデータ、それがオープンデータ。 「機械判読に適したもの」と説明されることがありますが、気にしなくてOK!


根拠はこちら、政府CIOポータル / オープンデータからリンクされている「二次利用の促進のための府省のデータ公開に関する基本的考え方(ガイドライン) 平成25年6月25日」内に記載があります。

なお、上記情報のデータ形式が機械判読に適したデータ形式でなく、データ形式の変換に多くのコストを要する場合には、当面、従来のデータ形式で公開すればよいこととする。
つまり、機械判読に適していなくてもOK!画像でもPDFでもWordでもExcelでも安心して、RAW DATA NOW! しちゃいましょう。
Tim Berners-Lee: The next web | TED Talk

ただし、イノベーションにつなげるには、LINK DATA NOW! 5つ星オープンデータ化が必須です。ひとまず、完全無料の避難所データ(odp)でお試しください。 下記はごみ分別アプリの肝となる、SPARQL APIへの問い合わせです。

select * { graph ?g { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/jrrk#Rubbish>. ?s <http://www.w3.org/2000/01/rdf-schema#label> ?name. ?s <http://odp.jig.jp/odp/1.0#classified> ?cls. optional { ?s <http://www.w3.org/2000/01/rdf-schema#comment> ?comment. } filter(lang(?name) = "ja") } } limit 1000

5つ星オープデータのまとまりから、typeがRubbish(ごみ)から、日本語表記の名前、分別、もしあればコメントを、最大1000件取得しています。 どの自治体がどういうデータを提供しているかは、5つ星オープンデータ対応一覧表で一目瞭然。


2012年、早期オープンデータ開始、3都市のひとつ、流山市のオープンデータ担当の方!(他、会津若松市、鯖江市)


アイデアソンのテーマ「ここまでできる!?究極のオープンデータ活用法」


3-4人のチーム、ブレインライティングにより質より量!いろいろなアイデアがでていました。
アイデアに名前をつけるとテンション上がるのでおすすめです。


千葉県庁から千葉駅まではモノレール!宙を走る感じがおもしろい。


県庁前が終着でした。

福岡県北九州市、北九州高専プログラミング研究部!

jigインターンOB、トミーのおかげで、念願叶いました。
北九州高専 コンピュータ研究部の紹介 - あかいろ情報系高専生の日記
jig.jp インターン2018始まります! - jigintern2018’s diary」← インターン時


さくらインターネット製のIchigoJam、IchigoSoda


このIchigoSodaを使った世界一カンタン(当社調べ)なIoTプログラミング体験!


ゲームづくりを通じてアルゴリズムを学ぶ、かわくだりゲーム大会で最長記録!さすが高専生、見切ってました!
高専生向けには、35 WAIT2 をデフォルトにしないといけないかも?
たった1コマンド加えるだけで、TがIoTに変わりました!
応用範囲は無限大。
(IchigoJam/IchigoSodaのスライドは、オープンデータ、自由に活用ください! slide on GitHub

地域の課題をみんなでみつけ、小中学生の柔軟な発想に刺激を受けて、高専生の実装力を合わせて、どこにもなかったサービスやプロダクトを創り出しましょう!
隣の人、隣のまち、隣の国へと広がった結果、それがイノベーション!

IchigoJam BASICで、楽しく遊んで、改造して、教えられるようになったらオススメしたい、次の一歩はスマホでもPCでも動く、JavaScriptでつくるwebアプリ。
はじめてのJS - JavaScriptはじめのいっぽ」「まずは作って公開オリジナルサイコロアプリ! HTML/JavaScript/GitHubはじめのいっぽ

HTMLとCSSをいじるだけでもオリジナルアプリ、できますよ!
北九州市オープンデータ、ふっけーが発見したAPIを使ってサンプルアプリ作ってみました。


イベントサーチ北九州
HTML/CSS/JavaScriptが入った、シンプルな1ファイル、ぜひソース(プログラム)を手元に保存して改造してみましょう!

div.innerHTML = ` <h2>${e.event_name}</h2> <div class=cat>${e.ctg1}</div> <div class=area>${e.Area}</div> <div class=description>${e.description}</div> <div class=place>${e.place}</div> <div class=date>${date}</div> <a href='${e.url}''>${e.url}</a> `

こんな感じでHTMLに読み取ったデータを埋め込んでいくイメージです。


オープンソースな鯖江メガネアプリで撮影、秒間1兆回の計算力をカジュアルに遊べるのが、プログラミングの魅力!
慣れたら、横展開は速い、言語習得!iOSかAndroid、自分の持ってる機種のネイティブアプリづくりにもチャレンジ!
OculusQuestなどのVRも良し。


PCN北九州製のクリスマスツリー!シンプル8pinのCPU付きの基板、USBポートに差し込むだけでキラキラ光る!
ずっと安く、簡単になっったハードウェアづくりも良し。


PCN北九州メンバー、増えました!
jigインターン2019OB、ふっけーも!
[ふっけー] jigインターン2019 - 終わりわよ!! - jigintern2019のブログ


jigインターンをインターン参加者のトミーとふっけーが紹介してくれました!
全国から高専生が集まり、3週間でサービを作るモーストエキサイティング(当社調べ)なインターンです。


3週間のインターン中に、ハッカソン、VRスイカ割り、滝行するインターンはjigインターンだけ!


プログラミング好きで、ちょっと外に飛び出てみたい人、事前登録どうぞ


お料理版、AtCoder、オタクック、プログラミング好き高専生にはウケますね!


北九州高専出身で、北九州高専の先生で、プログラミング研究部の顧問、2年上の先輩、松久保さん、ベーマガとの再開に歓喜!


初訪問だった、南国感ある北九州高専!37キャンパス目、訪問率58%


北九州市役所、三浦さんとも会えました!


小倉城!3Dモデルオープンデータとかあると楽しそう!


福岡名物、ごぼ天うどん!ごぼうの迫力!
地域のチェーン店オープンデータ、あると楽しそう。

岩手県、一関のお隣、平泉にはなんと世界遺産!

世界に1121日本に23ある世界遺産。


こちらが中尊寺金色堂、外観!金箔で覆われた金色堂は、この覆堂の中。
世界遺産オープンデータを使って、スタンプラリー的なアプリづくりもいいかも?

一関駅でも、食べられる名物もち料理!

すっかり一関のもちファンです。さすがもちの聖地!
いざ、餅の聖地・一関へ。おいしい餅をたらふく頂く!│観光・旅行ガイド - ぐるたび

もちオープンデータもほしいですねっ
一関もち料理データベースが出来ました | お知らせ | 【いち旅】いちのせき観光NAVI

一関市のオープンデータのURLを入力ボックスにいれて「showCSVs」ボタンを押せば、ページ内のCSVオープンデータを順次読み取りテーブル表示。

ひとつの大きなテーブルを作るために、読み込むほどに項目名が増えていく様子にも注目です。


showCSVs
CSVファイルが並ぶサイトは、だいたい有効。
こちらプログラムのコア、async/awaitを使うと流れがすっきり、読みやすい!

const showCSVs = async function(url) { const html = await fetchViaProxy(url) title.textContent = parseTitle(html) const links = parseLinks(html) const csvurls = links.filter(url => url.endsWith(".csv")) const csvs = [] for (const csvurl of csvurls) { const data = await fetchViaProxy(csvurl) const csv = convertCSVtoArray2(data) csvs.push(csv) const tbl = makeTableFromCSVs(csvs) clear(main) main.appendChild(tbl) } }

リアルをプログラミングして遊べるのがオープンデータの醍醐味!
いろんなオープンデータ、リクエストしたり、作ったりしてみよう!


今回初となった一関高専!
高専いったことあるよマップを更新! 36キャンパス目


一関高専の学食!


情報系の授業を受ける新教室、広い!


16x9のスクリーン横2つ分。32x9の画面。超ワイド画面ならではの、迫力ある何かおもしろいもの作ってみるのも楽しそう。


一関高専電算部を見学、なんと部長は2年生!


研究に、展示に、遊びに、いろいろ便利なOculus Quest、最近のアップデート、ハンドトラッキング体験。


一関高専電算部のみなさん、ありがとう!
いろいろ作っていきましょう!

links
- 地域で学ぼうIT技術、一関高専にて特別講義、はじめてのIoTプログラミング&ハンドトラックVR体験会

各地域で進む「xIT」の取り組み。今日は信州ITバレー構想を発表し、2050ゼロカーボンを日本初宣言した熱い長野県にて起業家甲子園に向けた信越地区大会!

信州で未来づくり、信州未来アプリコンテスト0(ZERO)
3年ぶり3度目の第5回目となったコンテスト、応募総数74!決勝進出した、小学生から29才の社会人まで、全21プランのプレゼン、楽しい時間をありがとう!


長野県知事、阿部さんも観戦!SDGsバッジを見かけたので、鯖江発のグローカルアプリで記念撮影!


NICT賞として選出したのは、長岡高専パトライトIoTチーム!
地元の企業との連携と「お手IoT」の実現とその横展開に可能性あり!


新たに加わったデータ活用部門、そのお手本を示してくれた、自転車盗難推測Bot開発した社会人参加の川野邉さん!
2019 信州アプリコンテスト0の振り返り。 - NAGANO ENGINEER LIFE


盗みの傾向 - 長野県警オープンデータ
長野県警による犯罪記録のオープンデータ、私も使ってみました。
自転車、自動車、バイク、自販機、部品と、CSVで公開されているものを さんのプレゼンと同様に曜日別、時間帯別に分類します。 データは「長野県オープンデータサイト」から直接使っているため、更新されれば自動反映。


縦長の画面で見ると、自動的に転置した縦長の表として表示する機能だけつけてみました。
発表でも言及されていましたが、住所よりもう一歩踏み込んで、緯度経度を付けてくれるとより細かな分類ができてうれしいですね。 オープンデータなので、地元の人ならわかる「あぁ、あそこの駐輪場ね」を追加加工したデータを二次流通させるのも手!


長野高専で楽しくプログラミングを教えている、伊藤先生!
プログラミング言語は何から学ぶべきか? ロボットプログラミングゲームをIchigoJamでプログラミング! C言語の教科書「Springs of C」より


長野県宮田村から参加の小学生チーム!ぜひ、PCNこどもプロコンにもチャレンジください!


横浜から参加!


名古屋から参加のトライデントコンピュータ専門学校チーム!


今回の会場は長野市、信州大学工学部。発表全プランを振り返ります。


どこでもドラム by ためちゃんず(新島学園中学校)
欲しい → 創ろう! とっても大事!
使う → 改良 → 使ってもらう → 改良 → 何か他に思いつく → 創る → ・・・どんどんアイデアと創れるものが広がって楽しい!
IchigoJamを使ってサーボで何か叩いたり、本格ドラムMIDI音源を制御するのも楽しいよ!遅れの問題、解消するかも。


読書のすすめ by 小森航平(未来工作ゼミ)
Scratchを使ってジャンルを楽しく決める!どういう人にどんな本をオススメするか、深堀りするとおもしろくなりそう。


AIスクッチブラザーズ by 水谷俊介(信州大学教育学部付属松本小学校)
小学生だってAIしたい! → できる!
AIの画像から姿勢推定の応用 Posenet2Scratch を使ったゲーム、2台並べて通信対戦とかできると熱いかも!?


keep our lives safe system by 国土交通省交通安全課(新島学園中学校)
実際に事故に遭った経験から交通安全問題に切り込んだ作品。
アクセルとブレーキ、踏んだらそれぞれ固有の音をならすことで踏み間違いをなくす、シンプルだけど意外といいかも!
居眠りを検出するのに、ハンドルの動きをモニタリングするのはきっと有効。


がるびっち☆せぱれーしょん by ノーストップイーグル(宮田村立宮田小学校)
5つ中で燃やすゴミはどれでしょう?正解は全部!

大人でも間違える、ややこしいごみの分別問題に独自設計したバーコードと読み取りロボットとソフトウェアでチャレンジした小学生チーム!


ことわざカルタ by 頭文字AI(新島学園中学校)
外国人と楽しくカルタをしたい!キータッチを使った、電子化したカルタで自動正誤判定!
多言語がかかれたカルタを複数音声を同時に鳴らす、聖徳太子カルタとか楽しいかも?


甲州弁翻訳アプリShingen by 都留高校アプリ開発チーム(山梨県立都留高等学校)
地域の歴史と文化を音で感じる方言、甲州弁の魅力をアプリで伝える意欲作。
かざすと全部甲州弁になって見えるメガネとか、字幕付き甲州弁YouTuberとか、甲州弁ゲームとか、地元ならではのチャレンジおもしろい!


ぶんべつくん by ほぐろ(長野県松本工業高等学校)
ごみの路上不法投棄に対するITを使った解決案。分別していれてくれる人に正解データを作ってもらい、面倒な人にはお金を払って自動分別機能を提供するとか?
路上のゴミを自動的に拾って捨てくれるゴミ拾いロボットの開発も夢がある。


編模様(あもーよ) イラスト手編み支援アプリ by 武田和樹(豊島区立西池袋中学校)
お母さんがオリジナルな絵柄を手編みするときのイライラを、アプリ化して解消!
Scratchの作品をUnity化して、iPhone/Androidアプリとしてもリリース!
真取り込みから手編みスタートまでがシンプル。全くの初心者向けに編み方の基本を教える動画をつけて、道具入手からサポートするとアフィリエイト収益上がるかも。


信州ナビβ by ちくわ(信州大学教育ダク部付属長野中学校等)
既存のサービス「信州ナビ」はターゲットが絞り込めていないとバッサリ!
欲しい機能を加えたり、いらない機能を減らせたりできるオープンソース化という手もありますね!
Scratchでは作りにくいところ、HTML+JavaScriptで作って GitHub などでの公開がいいですよっ。
JavaScriptはじめのいっぽ「はじめてのJS」つくるひとをつくる@木更津高専 - first step of JS


パトライト監視IoT by あなたの心のパトライト監視し隊(長岡高専)
工場内、機械の異常を知らせるパトライト、現状は、人が1-2時間に一度で見回っているそうなので、お手軽IoT化!


画像解析やAI判別から、光センサーを使った安価なものまで、手軽に始められるけど、実際の現場ではいろんなトラブル満載。
だからこそ、実際の現場でできる高専の強みが活きますね!


ななせぐッ by ちょっと終バス逃しました(長岡高専)
こちらも現場の声、ノギスからのデータ取りを効率化したい!
7セグの数値読み取りは、太陽光パネルの発電量や、各種センサーの値表示をリアルタイムオープンデータ化するのに便利そう!
良い名前なので、ぜひオープンソース化検討をっ


三世代サポート運転アプリ by サボテン(トライデントコンピュータ専門学校)
高齢になった親の運転を孫の声を使って子が見守るソリューション。
使いたくなる工夫として、孫が運転を褒めてくれるとよいかも!IchigoSodaやsakura.ioで月額66円、車に常備しちゃうのもいいかも!


カジタツ〜目指せ家事の達人〜 by MOST(トライデントコンピュータ専門学校)
ローカルルールが大変な家事を、動画で助ける家庭円満支援アプリ。
あえてシェアしないサービスもいろいろ登場しそう!


心に残る研究紹介エージェント by kbylab(信州大学)
大きいはそのままインパクトになる!説明の要所要所でズームするとぐっと印象が強くなるという仮設、実際やってしまうのがすごい!
音声合成に違和感あるので、ボイスチェンジャーなど使って、なめらかな音声を録音したもの使うとかするとぐっと実用に近くなりますね。


プリント点呼 by ZONE(トライデントコンピュータ専門学校)
30人を受け持つ先生がプリントで宿題を出したら、その点呼だけでも一苦労。
QRコードシールを事前配布して、読み取り専用アプリでその手間を削減!QRコードシールの脇にマークシート状の評価ボックスを加えて読み取れるようにすると成績管理も同時にできて更に楽かも?


マイミー MyMe by 阿部正寛(未来工作ゼミ、(株)アソビズム)
判断支援アプリ。小さな判断履歴を積み重ねていくと、自分の特性が分かって、間違いにくくなるのかも。
先人の失敗判断も見られるとおもしろそう。


eat marker by eat marker(トライデントコンピュータ専門学校)
10分の滞在を自動的に訪問と見なしてすばやく検索できる飲食店管理アプリ。
SNSを使わない多数派に広がれれればおもしろい展開もありえそう!


朝からドキドキアラーム by 形山竜一(長野高専)
リマインダーとアラームを融合したサービス。いっそ予定を叫びながら起こしてくれるといいのかも?
今日やらねばならないことを連打して、倒すゲームが済むまで止まらないアラームとか、学生の朝起きられない問題は世界共通、学生ならではの発想にヒントあり?


聖地コネクト by ARTSAR(情報文化学園アーツカレッジヨコハマ)
日本のアニメ好きが世界から集まる聖地をARで言語の壁を越えて楽しむサービス。ファンアートが各地で楽しめるのもおもしろそう。


自転車盗難推測Bot by 川野邉賢二((株)日本システム技研)
長野県の自転車盗難オープンデータを使った、ココに自転車停めても大丈夫?をLINEボットで聞けるサービス!
信州ITバレー構想の実現にはデータが大事!まさにそう!


審査委員長の信州大学不破さんからの来年に向けて力強いメッセージ!
待ってもこないSociety5.0、みんなで創ろう!


長岡高専パトライトIoTチーム、全国大会「起業家甲子園」に向けて、やるき十分!

links
- まわそう「ものづくりループ」、起業家甲子園の挑戦権を手にした中学生、信州未来アプリコンテスト0 2016年
- オープンデータ・学生・地方創生、信州未来アプリコンテスト0 2015年

CPUの世界にもオープンデータ。オープンソースでオープンライセンス(BSDライセンス)なCPUアーキテクチャ「RISC-V(リスク・ファイブ)」の実機が続々登場! 1981年にバークレー大学から発表されたRISC-Iからスタートして5世代目のRISC-V、Google / NVIDIA / NXP / Qualcomm など、数多くの企業をメンバー企業に支えられて躍進前夜。

Amazonが発表した自社開発CPU、Graviton2はArmベースでしたが、次世代がRISC-Vになっても不思議はありません。(現時点でAmazonはまだメンバーではないが、オープンに誰でも使えるため、使用するのにメンバーである必要もない)

そんな RISC-V というオープンなコンピューターの気持ちになってみましょう!
IchigoJamで試した、はじめてマシン語Arm編のように、はじめのいっぽはハンドアセンブル!
Specifications - RISC-V Foundation(RISC-V仕様書 P130より)

Instructionsとは、RISC-Vというコンピューターができること一覧、基本は32bit(4byte)、メモリに書かれた命令にしたがって、どんどん計算していきます。 レジスタは基本32コ、そのうち0番レジスタX0は0固定。実行位置を表すプログラムカウンタ(PC)は別となっています。

ひとまず、1+1をさせてみましょう。
レジスタ同士の足し算は ADD (上の図の一番下)

ADD rd,rs1,rs2

rd = rs1 + rs2 という足し算をします。
RISC-Vは、32コあるレジスタ(X0-X31)の内、x10,x11...を引数や、返り値に使うことになっています(x10,x11は別名a0,a1)

ADD x10,x10,x11

こちらをマシン語表を見て、二進法32桁の数値に変換します。(RISC-Vのマシン語の基本は32bit、16bitの圧縮版もあります)

0000000 01011 01010 000 01010 0110011         rs2 rs1 rd

これを16進法に表すと

-> #00b50533

この4byteをメモリに書き込めばOKです!(RISC-Vは、little endian なので、#33,#05,#b5,#00 の順)

ただ、これだけではプログラムの終わりがわからずどんどんよくわからない計算が進んでしまうので、戻す(RETURN)命令を加えます。 RISC-Vでは、戻り先がレジスタ1番に入っているので、そちらへのジャンプ(GOTO)すればOK。 命令表の中から Brunch の JALR x1 を上記同様に16進法に変換します。(x1は別名ra)

JALR x1 (JALR rd,rs1) 0b00000000000 000001 000 00000 1100111         rs1 rd -> #00008067

できました!

実機で動かしてみたいところですが、今回は誰でも使えるエミュレーターを使います。

WebAssemblyにも対応し、ブラウザ上でRISC-V版Linux(JSLinux)まで動かしてしまうTinyEMUをベースにしたコンパクトなエミュレーターrv32emuを使います。

いろいろ組み込みに便利なようにコア部分を分離するように改造した rv32emu を作りました。
emu-rv32i.h をインクルードし、下記のように使います。

#include "emu-rv32i.h" #include <stdio.h> int main(int argc, char** argv) { uint32_t start = 0; ram_start = 0; uint32_t end = 0xfffffffe; *(uint*)(ram + start + 0) = 0x00b50533; // ADD x10,x10,x11 *(uint*)(ram + start + 4) = 0x00008067; // JALR x1 pc = start; reg[2] = ram_start + RAM_SIZE; // sp - stack pointer reg[1] = end; // ra - return adderss reg[10] = 1; // a0 reg[11] = 1; // a1 while (machine_running) { next_pc = pc + 4; insn = get_insn32(pc); printf("[%08x]=%08x\n", pc, insn); execute_instruction(); pc = next_pc; if (pc == end) break; } printf("x10 a0: %08x\n", reg[10]); return 0; }

結果はこちら

x10 a0: 00000002

見事、x10に 1+1 の結果、2が入っていますね!
reg[10]やreg[11]の初期値を変えたり、他の命令をハンドアセンブルしてみたりと、いろいろ試してみましょう。

MacでRISC-Vの開発環境を入れるなら、Homebrewを使うと楽ですよ!

$ brew tap riscv/riscv $ brew install riscv-tools

links
- はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

創造力の一種、発想力。筋力と同じで、繰り返し使って鍛えましょう!
スタートから45分で発表まで終える「スピードアイデアソン」をいろんなテーマで繰り返す程に身につく発想力と貯まるアウトプット。
小中高校生から、高専・大学生・社会人まで、予備知識もスキルも不要で、幅広く楽しめます。


アイデアを形にするアプリイメージづくり。一番大事な画面1つを大きく模造紙に描いて、アプリタイトルをつけよう!
実際のアプリ開発現場でも見られるペーパープロトタイピング!
イメージができて、データが揃えば、アプリづくりは半分できたようなもの!


地域課題解決アイデアソン(45分バージョン)」(pptx)
CC BY のオープンデータ、自由にアレンジしてお使いください!


イノベーションフロー。
課題、アイデア、データを加えてアプリができて、横展開できたらイノベーション!
まずはいろいろトライしてみよう!やってみないとわからない!


付箋紙は課題とアイデアで2色あるとよし、ボールペンや鉛筆ではなくカラーペンが見やすくてオススメ!


アイデアソンの大事なルール「批判しない」
限られた時間、批判するより、別案を出すことに使いましょう。新しいネタを使えば新規性が出る!
自分ごと、自分がうれしいことを考えるのは、実際取り組んでいこうと思えるのでオススメ。




思いついた課題が書かれた付箋紙に、ペンで点を打って投票します。気になる課題については聞いてOK!








本日のアウトプット、高校生&大学生による3アプリ!

お知り隊
対象:高校生
課題:勉強わからん
アイデア:勉強の単元ごとに教えて欲しい人と、教えたい人をつなぐアプリ
データ:丸岡高校の単元


AIにおまかせ 〜今日のこんだて編〜
対象:一人暮らしの大学生
課題:こんだてが決まらない
アイデア:使いたい食材、予算、人数、カロリーを入れるだけで決めてくれる
データ:旬の食材、値段、レシピ、カロリー、健康状態


そばほし太郎
対象:丸岡高校の学生と、近所の人
課題:打ったそばが残る
アイデア:そばが欲しい人にそばがあることを知らせて取りにきてもらう
データ:そば打ちスケジュール、残ったそばの量、そばの写真、近所の人

どのチームもおもしろいアプリ、発想できました!
やればできちゃうアプリづくり、ふりかえりでも書いてくれてましたが、地域の人にいろいろインタビューしたり、データを集めて、おもしろい課題を見つけ、斬新なアイデアづくりを狙ってみましょう!
アイデアソンは、みんなで楽しめる一種のゲーム。やればやるほど上手くなって、おもしろくなりますよ!


今回は、アイデアソン前にインプットの時間。
福井県庁のオープンデータに関する取り組み紹介。テーマに合わせた、インプットの時間、企画するのも良いですね!


アーバンデータチャレンジ福井ブロックの上坂さんから、チャレンジのススメ。取り組み(アクティビティ)でも応募できるとのこと!
アーバンデータチャレンジ
(地域課題の解決を目的とした地方自治体を中心とする公共データを活用した年間のイベント開催を伴う一般参加型コンテストです)

リニューアルしたさばえものづくり博覧会、開幕!10/25-27の3日間。

IoT人カウンター at さばえものづくり博
リアルタイムに来場者をカウントし、オープンデータ化する、IoTカウンターを全4箇所入り口に設置!
時間帯ごとのカウント数がリアルタイムに分かります!(sakura.io DataStore API 使用)


こちら働くIchigoJam (IchigoSoda + sakura.io4G通信モジュール)のカウンター、チェックしてみてください!


会場は鯖江市嚮陽会館!(35.947902,136.179732
10時〜17時まで(27日は16時まで)


会場内、4箇所あります。興味持ってくれた中学生がいたとか!


オープンソース!IchigoJamがわかる鯖江の小中学生なら自在に改造できる!?


梵、社長、加藤さんの発声で開幕!特大超吟ポップが目立つ!


本気精度で動くロボットで動く、形を識別する自動ユーフォーキャッチャー的なもの。ぬいぐるみとか取れるゲームになると楽しそう!


普通はメガネには使わないチタンを使った試作品。なんかすごい。


装い新たに「梵」カレー、新発売の焼酎も!


鯖江最大のメガネ工場、シャルマン内部へVRで潜入!


鯖江のスーパーではおなじみ、クリーンルームで製造されるタイヨーのお野菜の家庭版!


メガネ、漆器、繊維、触れる展示が楽しめます。


外には飲食コーナー!
臨場感抜群、360度写真THETAで撮ったVRオープンデータはこちら!(vr-sabaemonohaku


鯖江市初のSDGs、メガネの形した人気のSDGsピンバッジ「glocal」、1F 鯖江市コーナーで買えます!

glocal アプリで記念撮影、初見だと驚く顔がたのしい!




撮ってみたい方、土日、2FのNT鯖江へどうぞ!
さばえものづくり博覧会
NT鯖江 2Fへどうぞ!

兵庫県三田市にてオープンデータ化支援研修、鯖江からオープンデータ伝導に行ってきました。

講演後のワークショップでは、混成各チームからさまざまなアイデアが誕生しました!
自治体オープンデータを使ったサービスは、自治体によるサービスである必要はないので、自由な発想で、ギュッとターゲットを絞り込んでしまうのがコツです!

同伴KIDS、子供連れで行くことができるお店の口コミ!


プーさんマップ。出会いたくない熊情報を、あえて可愛い名前で!


ドコスムナビ、名前がいい!住んでみないとわからないを解消できるとうれしいですね。


じもってぃ、地域行事、地元の人しか知らないデータのオープンデータ化は価値あり!


バスどこ、利用者層をぎゅっと絞り込んでみるといろんな欲しい機能が見えてきます。(IchigoJamで作ったバスロケ、実験中です by @Sujiya_System!)


おしえて!なんでも聞ける、カメラでかざすとなんでも教えれるアプリ、AIで実現、いいですね!
AI化するにはとにかくたくさんのデータが必要です。


サービスを考えると、いろいろ欲しいデータが見えてきます。


本日の教材もオープンデータ、どなたでも体験いただけます!
オープンデータ化支援研修の教材 – オープンデータ 研修ポータル
オープンデータは行政のものだけならず、個人でも、民間でも、みんなでオープンデータやりましょう!


オープンデータ活用法は大きく2つ!


三田市のオープンデータはこちらから。


園児数の推移が気になりました。Excelで開ける2つ星オープンデータ。


三田市の幼稚園児の数推移。ここ20年近く一貫して減少傾向。少子化は、急に始まったわけではないですね。


オープンデータ都市、2020年度中にひとまず100%達成しましょう!
オススメは、アプリ「ヒナンパス」ですぐに職員市民の役に立ち、政府の推奨データセットにもなっている「避難所」データのodpへの登録!
最高ランクの5つ星オープンデータによるオープンデータ化も達成できて、無料!Excelでファイルを作って、アップロードするだけ簡単です!自治体のメールアドレスよりお申し込みください。


オープンデータってなんだろう?」動画 by 総務省
1点、機械判読はオープンデータの条件ではないってところだけ、間違っているので注意です!


オープンデータ、LODやSPARQLにも力を入れる、日立さん


兵庫県のオープンデータ


兵庫県からスゴイオープンデータの登場予告!なんと1mメッシュの標高データ!
これはVR化するとおもしろそう!


みなさま、おつかれさまでした!


姉妹都市オープンデータもおもしろいかも。


会場は、きれいな三田市役所!


モニュメントオープンデータもぜひ!様々な確度からの写真や動画があると、機械学習用データとしてもとっても便利!


三田市の方に紹介してもらったお菓子やさん。


三田市の銘菓、俵もなか。ぎっしり2段詰まってます!
特産品オープンデータで、地元自慢ゲームも楽しそう!

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