読者です 読者をやめる 読者になる 読者になる

MicroPythonでmicro:bit互換のchibi:bitを動かす

電子工作 プログラミング mbed Python

f:id:mia_0032:20160820155544p:plain

chibi:bitはスイッチサイエンスから発売されているmicro:bit互換のマイコンボードです。

micro:bitはmbed enableなのでC++(mbed)でも開発できますし、JavaScriptやBlockEditor, MicroPythonでも開発することができます。

WebIDEを使うと、非常に簡単にコードを動かすことができます。 コンパイルされたhexファイルをダウンロードできるので、hexファイルを通常のmbedと同じようにディスクへ書き込めば動きます。

しかしWebIDEではなくローカルPCで開発したいという人もいると思います。 そこで、この記事ではローカルPCでMicroPythonのコードをビルドしてchibi:bitで動かす手順を紹介します。

1. ローカルで開発できる環境を作る

Pythonのバージョンは 2.7.12 でやりました。OSXでの手順になります。

$ python --version
Python 2.7.12

Pythonで書かれたコードをhexファイルにコンパイルして書き込んでくれるuFlashというパッケージをインストールします。

$ pip install uflash

ビルドにはyottaも必要そうなのでインストールします*1

$ brew install cmake ninja arm-none-eabi-gcc
$ pip install yotta

2. HelloWorld.py

以下のコードを HelloWorld.py として保存します。

from microbit import *
display.scroll("Hello, Python World!")

chibi:bitへ書き込みます。

$ uflash HelloWorld.py /Volumes/MBED

3. 動作確認

MBEDデバイスが取り外されれば書き込みが完了した合図なので、あとはリセットボタンを押すだけです。

f:id:mia_0032:20160820155043g:plain

ちゃんと表示されました!

*1:特に依存しているようには見えないものの、インストールされていない状態だとhexファイルが書き込まれませんでした

5〜8月で読んだ本

読書

今回は技術書ばかりでした。


トコトンやさしい歯車の本 (今日からモノ知りシリーズ)

LED日時計を製作するにあたり、歯車の仕組みを理解するために読みました。

歴史から理論的な計算式まで一通り網羅されていてだいぶ役立ちました。

やさしい機械図面の見方・描き方(改訂2版)

やさしい機械図面の見方・描き方(改訂2版)

やさしい機械図面の見方・描き方(改訂2版)

これも同じくLED日時計を製作するために図面を描く時に読んだ本です。

図面の描き方自体は、大学の頃に多少かじったことはあるものの、だいぶ忘れていたので良い復習になりました。

nginx実践入門 (WEB+DB PRESS plus)

nginx実践入門 (WEB+DB PRESS plus)

nginx実践入門 (WEB+DB PRESS plus)

Nginx使うなら読んでおくべき本でした。何となく使っていた細かいパラメータの意味までちゃんと書いてあり、非常に勉強になりました。

[24時間365日] サーバ/インフラを支える技術 スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

若干内容が古くはなってきている感じはするものの、基本的な考え方は今でも通用する本です。

止められない大規模なシステムを安定稼働させ続けるために、とりうるサーバー/インフラ構成(冗長化、チューニング。モニタリング)について書かれています。

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)

「サーバ/インフラを支える技術」よりも、アプリケーションレイヤー寄りの話が多いです。内容としては同じく、止められない大規模なシステムを安定稼働させ続けるために、やれることについて網羅されています。

初めてのAnsible

初めてのAnsible

初めてのAnsible

Ansibleでどういったことができるかについて詳細に解説している本です。 「初めての」とついていますが、他のオライリー本と同じく、完全な初心者向けの本ではないです。 Ansible自体は触ったことがあり、上手い使いこなし方がわからない、という段階で読む本だと思いました。

考えなしの行動?

考えなしの行動?

考えなしの行動?

昔、英語版を読んだことがあったものの、日本語版は読んだことがなかったので改めて読んでみました。 英語版は写真だけが載っていて文章が書かれていないのですが、日本語版ではちょっとした解説が載っています。

普段、何気なくやってしまう行動を改めて写真に撮ってみると、なぜそうした行動をとってしまうのか、ということを考えさせられる本です。

MFT2016にLED日時計を出展します

電子工作 MakerFaire mbed 機械式時計

もう開催が明日に迫っていますが、MFT2016に時計の温故知新プロジェクトとして「LED日時計」を展示します。場所はG04-04です。ぜひお越しください!

プロトタイプ版から以下の点を改善しました。

  • 日時計・時時計・調整用にさらに高速 の3段階で時を刻めるようにした
  • ユニバーサル基板に回路を移植
  • ギア部も図面を起こしてきれいに作りなおした

外観

f:id:mia_0032:20160805174810j:plain

回路部

f:id:mia_0032:20160805174854j:plain

ギア部

f:id:mia_0032:20160805175103j:plain

動作の様子

出展者情報

makezine.jp

プロジェクトサイト

時計の温故知新

mbedのソースコード

mbed_led_sundial - a mercurial repository | mbed