MOSA Multi-OS Software Artists

MOSAはソフトウェア開発者を支援します

  • iPhone/iPod touch アプリ紹介
  • MOSA掲示板
  • 活動履歴
  • About MOSA(English)

【MOSAメルマガ#28】ESP32とIoT機器(グッズ)の開発(2018年4月17日配信)

MOSAメールマガジン第28号 ESP32とIoT機器(グッズ)の開発

◆目次
・MOSAからのお知らせ
・ESP32とIoT機器(グッズ)の開発
・レポート公開
・ニュース
・このメールマガジンについて
・バックナンバーについて
・配信先の変更・停止について

ーーーーーーーーーーーーーーーーーーーー
◆MOSAからのお知らせ
ーーーーーーーーーーーーーーーーーーーー
●【夜間】関東swift勉強会2018-05
開催日: 2018年5月11日
受付期間: 2018年5月11日

プログラミングを一人で勉強するのはつらくて長い道のり…
そんなあなたの
BUKURO.swift

・Cocoa勉強会とMOSAの合同勉強会です。
・macOS/iOS/watchOS/tvOSプログラマーのための勉強会です。
・初心者大歓迎です。
・関連があれば、他の環境についてもOKです。
・発表を希望される方は申し込み時のアンケートでお申し込みください。

プログラマーが楽しくプログラミングできるようにサポートする場を提供したい
・勉強会に参加された方全員が学びを得られる様にサポートします!
・勉強会に参加できない方にも学び得られるよう、勉強会の成果を可能な限りアウトプットします!
・プログラマの拠り所となる場を目指します!

詳細はこちら。
http://www.mosa.gr.jp/?p=42538

ーーーーーーーーーーーーーーーーーーーー
◆コラム 
ーーーーーーーーーーーーーーーーーーーー
ESP32とIoT機器(グッズ)の開発
増田 崇(株式会社タスタス)

皆さんはIoTといったらどんな物を思い浮かべるでしょうか?また、IoTグッズをなにかお持ちでしょうか?
自分はIoTなものから、IoTすら関係無いものまで、なにか面白いと思うと使わなくても買ってしまう癖がありまして、家や仕事場にいろいろなグッズがたまっています。
前回このメルマガに投稿した3Dプリンターなどもその一つです。

そんな中でも、ついつい「何かに使うかも?」と手を出してしまうのが、arduinoやラズベリーパイと言った沢山の開発用ボードです。
そう言った開発ボードの中で最近話題になっている(と自分が感じている)チップを使ったものがあります。
それが、タイトルに出したESP32(正式名称ESP-WROOM-32、以降ESP32)というチップです。
このチップは特別な外部のチップ無しにWiFiとbluetooth通信が可能で、日本の技適マーク(無線通信をする場合には必ず取得する必要があります)も取得済みで複雑な回路を組まなくても無線通信ができ、価格も手頃なのが特徴です。
技適マークとは? → http://www.tele.soumu.go.jp/j/adm/monitoring/summary/qa/giteki_mark/

自分が最初にこのチップを搭載したボードに触ったのはNefryBTというボードです。
https://dotstud.io/shop/nefry-bt-single/
このボードは、パソコンのUSB端子に直接挿してパソコン上で手軽にプログラムが書けます。
また、Grove端子(様々な電子パーツを簡単に接続可能にする共通の規格)を搭載しており、半田付けなどせずに電子回路を組み、簡単にIoTグッズを自作できます。
例えば、ランプ(LED)をつなげて、gmailにメールが届いたらランプを光らせるなんて事ができます。
しかも、開発完了後はモバイルバッテリーなどでも動作させることが可能です。

そんな中、とあるプロジェクトで特定の状態になったらアラートを出して知らせる仕組みが欲しいと提案があり、自作してみました。
市販のシステムなども考えましたが、限られた予算と新しいことに挑戦すると言う意味でもトライして見ました。
先程紹介したNefryBTの様なボードでの開発も考えましたが、なるべく価格を安く出来ないか、また、もう一つ踏み込んで電子回路について勉強出来ないかという事で出来上がった開発ボードではなく一からの作成に挑戦しました。

まずは、メインであるESP32です。
チップ単体を購入して一から使う方法もありますが、ピン幅も狭く電子基板からの設計になってしまうので、ある程度使いやすい状態になっているこちらのボードを使用しました。
https://www.switch-science.com/catalog/3170/
単体より少し価格は高くなりますが、ブレッドボード(半田付けしなくても回路が組める試作用のボード)や一般に売っているユニバーサル基板(一定間隔に穴が空いた基板)を使って簡単に回路が組めます。

次は電源です。
ESP32は3.3Vで動作するチップなので、実際に使用する電源電圧から3.3Vを作り出す必要があります。
今回、電源は12Vにしていたので12Vから3.3Vの電圧を取り出す必要がありました。
こういう場合、三端子レギュレータというチップを使います。
ただ、こちらも自分の知識と相談し、実績がある市販の回路を使うことにしました。
今回利用したのはこちらです。
http://akizukidenshi.com/catalog/g/gK-09980/

チップと電源の用意ができました。
この後はESP32を動かすのに必要な回路を作っていきます。
その際に必要になる回路はメーカーサイトなどに載っています。
今回は先人の方々がすでにトライしていたので、真似してしまいます。
ESP32では最低限リセットスイッチとファームウェア書き換えに必要なスイッチの2つが必要な様です。NefryBTにも2つのスイッチがありました。

最後にファームウェアの書き込み用の端子出力です。
ファームウェアの書き込みにはシリアル通信を使います。
ESP32自身にはPC用の通信モジュールは搭載されていないため、シリアル通信用のモジュールを使います。
https://www.switch-science.com/catalog/1032/
NefryBTの様なボードと同じ機能が最初から基板に搭載されているのですね。
ここまででESP32が使えるようになりました。
実際は情報を集めるのに苦労したり、配線に苦労したりします。でも、PCと接続できてちゃんと動いた時の感動はひとしおですね。

さて、ここからが本番です。
やっとESP32が使えるようになりました。
次にやることはアラートを出す仕組みです。

今回は12Vの機器でアラートを知らせる必要があるのですが、ESP32は3.3Vで直接動作させられません。
ここで選択したのはリレーです。
リレーの説明は専門サイトにお任せして、簡単に言うと、小さな電圧(電力)で大きな電圧(電力)を動かすためのパーツです。
https://www.panasonic.com/jp/company/pidswt/products/05.html

今回は3.3Vで125Vまで耐えられる物を使用しました。
後は繋げるだけ!と言いたいところなのですが、ArduinoやESP32の様なチップでは直接リレーを駆動できません。
試しに一度接続してみましたが、全く反応しません。(チップを壊す可能性があるので真似しない事をお勧めします)
今回の制作でここが一番苦労した部分がここでした。
調べてみると、トランジスタを使って電力を増幅して、逆電流対策用のダイオードをつなげてなど、少し複雑な回路になります。
一番困ったのは抵抗などの値です。
合わない抵抗を使うと動かなかったり、リレーやトランジスタが熱で壊れそうになったりして、難しいですね。
結局正しい計算式はわからないながらも、1日動作させても熱が出ないようになり安定したかなーという感じです。

学生の頃は電気科に通っており、電子回路の事など勉強していましたが、20数年前の事で、今回なかなか思いだせなかったりいろいろ苦労はありましたが、こうして色々調べながら作って行き、曲がりなりにも思った動きができると楽しいものですね。

とりあえず動くところまではきましたが、ここからはこのボードに対応したファームウェアやアプリケーションの開発、プリント基板を使った独自基板の作成など、次の課題も出てきます。
今回出来合いの物を使用した電源周りなど、まだまだ挑戦しなければならないことがたくさんですが、少しずつ勉強して新しいIoTグッズなど作れたら良いなーと画策しております。

興味を持たれた方がいましたら、ぜひ挑戦してみてください。

追伸
最近発売されてにわかに盛り上がっている小型ドローン、telloをご存知でしょうか?
航空法適用外の200g以下のドローンでスマートフォンなどから制御できるドローンです。
MOSA会員の石橋さんの声かけで、このドローンをESP32ボードを使って連隊飛行させるという実験をしました。
https://qiita.com/bishi/items/30ba53eedbb868cb6ddc
いろいろ課題も残りましたが、こういった取り組みがしやすくなると考えるとワクワクします。

ーーーーーーーーーーーーーーーーーーーー
◆レポート公開
ーーーーーーーーーーーーーーーーーーーー
●BUKURO.swift 2018-04 レポート(4/4)
2018年4月4日(水)の夜間、東京都豊島区の池袋コワーキングスペース OpenOffice FORESTにおきまして、「BUKURO.swift 2018-04」を開催致しました。

発表資料はconnpassページからどうぞ!
また、会場の様子は、ハッシュタグ『#cocoastudy #mosa #bukuroswift』でtweetしています。

今回の発表は以下の通りです。

・矩形の移動
・Swiftの文字列
・個人製作Unityゲームのデモ

レポート全文はこちら。
http://www.mosa.gr.jp/?p=42482

●第24回 MOSA Tech Meeting レポート (3/31)
2018年3月31日(金)の夜間、東京都渋谷区の渋谷区文化総合センター大和田におきまして、「第24回 MOSA Tech Meeting」を開催しました。
今回の発表は以下の通りです。

・Macでハイレゾオーディオを扱ってみる
・組込みシステムでよく使われる処理をSwiftへ移行
・商標侵害事件の報告
・ドローンとガジェットのデモ

レポート全文はこちら。
http://www.mosa.gr.jp/?p=42480

●PubHack.swift 2018-04 レポート(4/12)
2018年4月12日(木)の夜間、東京都豊島区のTHE DUBLINERS’ IRISH PUB 新宿店におきまして、「PubHack.swift 2018-04」を開催致しました。
PubHack.swiftは今期からはじめましたMOSAの新しい形のイベントで、飲み会イベントを通じて、macOS/iOS/tvOS/watchOS/Androidエンジニアの人たちの交流を目的としています。

レポート全文はこちら。
http://www.mosa.gr.jp/?p=42526

ーーーーーーーーーーーーーーーーーーーー
◆ニュース
ーーーーーーーーーーーーーーーーーーーー
●Apple、「Pro Workflow Team」を結成し2019年の発売を目標に次期Mac Proを開発中。
https://applech2.com/archives/20180406-apple-wii-ship-mac-pro-2019.html
2019年に登場する予定のProマシンは期待できそうです。

●bitFlyerがObjective-C共同開発者Tom Love氏を顧問に、ブロックチェーン向け言語開発に取り組む
https://jp.techcrunch.com/2018/04/06/tomlove-joins-bitflyer/
ブロックチェーンの開発をやりやすいようにプログラミング言語やクリエ言語から開発するという取り組みです。将来の発展の下地になりそうです。

●Apple、新宿に活気
https://www.apple.com/jp/newsroom/2018/04/apple-lights-up-shinjuku/
新しいアップルストアが新宿にオープンしました。

●Twitter、“流れるタイムライン”の「User Streams API」廃止を延期
http://www.itmedia.co.jp/news/articles/1804/09/news046.html
延期にはなりましたが中止ではありません。利用している場合にはご注意ください。

●Facebook、社会を分断するような問題広告に認可制度、ページの“身元確認”も 選挙介入対策で
http://www.itmedia.co.jp/news/articles/1804/08/news014.html
嘘か本当か分からない情報が飛び交っている中で、少し信頼が上がるかもしれないです。それでも真偽について自分で判断する力は求められます。

●2018年秋にmacOS Serverから削除されるオープンソースサービスの導入手順をまとめた「Service Migration Guide」をAppleが公開。
https://applech2.com/archives/20180409-macos-server-service-migration-guide-v1.html
macOS Serverで利用しているサービスがある場合には移行が必要になります。どのように移行すれば良いのかや、macOS Serverが何を使っているのかについてのガイドが公開されました。

●なにがあったの? macOS 10.13.4でDuet DisplayやAir Display、USB接続モニターに問題発生
https://www.gizmodo.jp/2018/04/macos-duet-display-airdisplay.html
同様の機能を持ったソフトで一斉に不具合が発生したことで、代替ソフトも無い状態に。

●パスワードに依存しない認証「WebAuthn」をChrome/Firefox/Edgeが実装開始、W3Cが標準化。Webはパスワードに依存しないより安全で便利なものへ
http://www.publickey1.jp/blog/18/webauthnchromefirefoxedgew3cweb.html
現時点ではSafariによるサポートの表明は無いようです。いずれはサポートされると思いますが。。。

ーーーーーーーーーーーーーーーーーーーー
◆このメールマガジンについて
ーーーーーーーーーーーーーーーーーーーー
このメールマガジンではMOSA会員の皆様からの寄稿を募集しています!!
法人会員の皆様、自社のイベントやプレスリリースなどの案内を掲載しませんか?
個人会員の皆様、自作のアプリやOSSで作ったライブラリ、試してみたことなどを掲載してみませんか?
会員ではない皆様、MOSAの会員になって、寄稿してみませんか?

寄稿したい方は以下のページから、お寄せください。
https://mosa-gr-jp.heteml.jp/mosa.gr.jp/?page_id=40953

MOSAの会員については、以下のページをご覧ください。
http://www.mosa.gr.jp/?page_id=4

ーーーーーーーーーーーーーーーーーーーー
◆バックナンバーについて
ーーーーーーーーーーーーーーーーーーーー
バックナンバーは以下のページで公開しています。
http://www.mosa.gr.jp/?page_id=41102

ーーーーーーーーーーーーーーーーーーーー
◆配信先の変更・停止について
ーーーーーーーーーーーーーーーーーーーー
配信先の追加はこちらです。
https://mosa-gr-jp.heteml.jp/mosa.gr.jp/?page_id=40929

配信先の停止はこちらです。
https://mosa-gr-jp.heteml.jp/mosa.gr.jp/?page_id=40938

配信先の変更は、新アドレスを追加後に旧アドレスを停止してください。

このアドレスは送信専用のため、このメールにご返信頂きましてもご回答出来ません。
お問い合わせについては、以下のページをご覧ください。
https://mosa-gr-jp.heteml.jp/mosa.gr.jp/?page_id=4711

ーーーーーーーーーーーーーーーーーーーー
(C) 2018 特定非営利活動法人MOSA
http://www.mosa.gr.jp/

MOSAメールマガジンについて

MOSAからのお知らせ、コラム、IT系ニュース、MOSAの会員からの寄稿をお届けします。
基本は隔週火曜日配信+臨時特別号。購読料も無料です。
是非、ご登録ください!

メールマガジンの配信登録はこちらから。