マイコン学習の始め方とステップアップ

ArduinoやESP、mbed、Raspberry Piなどいろいろなマイコンがありますが、おすすめの学習方法をまとめたいと思います。

最初はArduino UNOがおすすめ

世界中で使われているマイコンです。簡単な電子工作と共に使ったり、3Dプリンタの制御などでも利用されています。

特徴としては、あまり高性能ではないですが利用しやすいのと安価で充実した環境が構築できます。

学習セットがおすすめ

私も購入しましたが、上記のセットがおすすめです。三千円前後でArduino UNOと、学習用の部品セットが手に入ります。(もっと部品がついている最終版スタータキットでもいいですが、倍の値段になります)

付属品CDに日本語マニュアルが入っていない場合には、ホームページから最新版をダウンロードすると日本語のチュートリアルが入っています。

マイコンの基板だけ購入しても、何をしたらいいのかわかりませんが、部品セットとチュートリアルがあれば、どんなことができるのかを実験しながら学ぶことができます。Arduino以外のマイコンでも、部品やチュートリアルの回路などは流用できるので無駄になりません。

ELEGOO以外にもいろいろなメーカーがセットを出していますが、日本語チュートリアルが充実しているのはELEGOOになります。

予算がない人はまずはホームページから最新版をダウンロードして中身を見るだけでも学習はできると思います。

Arduino UNOのプラスアルファ

ロボット

実際にものを動かしてみたいという場合には、ロボットのキットがありますので購入してみるのもいいかもしれません。

中身を確認したい場合には、ホームページからマニュアルなどがダウンロードできますので、興味があれば購入する前に確認することができます。

Grove

GroveとはSEEED社が開発をした、コネクタの規格です。学習セットではブレッドボードジャンパー線と呼ばれる線で接続をしますが、もっと簡単に接続するためのものです。

たとえばI2Cのセンサーを利用する場合には、I2Cと書いてあるところに線をつなげるだけで使えます。

Groveは非常に楽に接続が可能で、試験などで入れ替えも簡単にできます。ただし、コネクタが共通なだけで、自分で同じように接続すれば利用することも可能です。

Arduino以外でもGroveの部品は利用することが可能ですので、興味があればチャレンジしてみるのもいいと思います。ただし、普通の部品に共通のコネクタをつなげている関係で単品で買うよりは高くなります。

NanoとMEGA

ArduinoにはNanoやminiと呼ばれる小さい基板と、MEGAと呼ばれる大きな基板があります。使える端子数などが違いますので、用途に応じて選ぶことができます。

Nanoはmini USB端子を使っているものが多いのでご注意ください。私はMicro USB端子になるべく統一しているので、mini USBの基板は極力避けています。

基本を学んだら無線対応のESP32

ESP32とはArduinoでWi-fiとBluetoothが利用できるマイコンです。電波法の関係で日本で利用できるものは技適呼ばれるマークが付いているものだけになりますのでご注意ください。

ついていないものは非常に安いですが、日本で利用できるESP-WROOM-32と呼ばれるモジュールを搭載しているか、個別に申請している商品を利用するようにしましょう。

また、似たようなモジュールでWi-fiのみが利用できるESP8266(ESP-WROOM-02)もありますが、あまり値段差がないので高性能なESP32をまずは触ってみるのがいいと思います。

Bluetoothの利用例は、シリアルケーブルでパソコンに転送していたデータを簡単に無線化できます。シリアルポートの代わりにBluetoothを利用するようにするだけで、簡単に無線化ができます。

Wi-fiの利用例は、インターネット上に直接データを転送することができます。部屋の温度を定期的にアップして、グラフで確認をしてみたり、一定値を超える温度になったらメール通知などをしてくれるサービスなどが無料で提供しているサイトなどもあります。

ESP32のプラスアルファ

M5Stack

M5StackはESP32を利用したマイコンで、小さい画面にボタンやmicroSDカード、スピーカー、Grove用のコネクタなどがあります。

Stackの名前の通り、バッテリーなどの拡張用モジュールを積み重ねて利用することができます。BASICの他にも加速度、ジャイロ、磁気を計測可能な9軸センサを搭載したGrayや高性能なFireなどもあります。

最近はもっと小さいCameraや腕時計ぐらいのStickも販売されています。画面がついているので非常に使いやすいですが、できれば最初はプレーンなESP32の開発ボードから入ってもらい、他のボードで動かないときには、プレーンなESP32では動くのかを確認して欲しいです。

ここで自分の興味の方向性を確認する

Arduino UNOとESP32を触ったところで、ちょっと自分がどんなものに興味があるのかを確認したほうがいいと思います。

もっと細かい制御がしてみたい→mbed

Arduinoは非常に便利ですが、細かい制御や高度な制御には向いていません。もっと細かい制御をしたい人にはmbedをおすすめします。

mbedとはブラウザ上でプログラミングして、出来上がったプログラムをダウンロードして、USBメモリみたいに認識しているマイコンにコピーするだけで動かすことができる仕組みです。

mbed対応のマイコンは大量にありすぎて、選ぶことが難しいです。上記ではArduinoとのピン互換性が高いNUCLEO-F401REと、すこしピンの互換性は下がりますが高性能のNUCLEO-F446REを紹介します。

両方ともSTM32と呼ばれるチップを利用した、オフィシャルの開発用ボードになります。STM32はArduinoも動きますので、mbed専用ではありません。そしてSTM32独自の開発環境もありますので自分の好きな環境で開発することができます。

STM32以外のチップを利用したmbedも大量にあって、用途に合わせてチップを選ぶことになりますが、STM32の中でもたくさんありすぎて選ぶのが大変です。

上記がSTM32の開発ボードのナインナップですが、Nucleo-32がArduino nanoに相当する小さいボードで、右のNucleo-144がMEGAに相当する大きいボードです。通常は真ん中のNucleo-64から選ぶのがいいと思います。

高性能のチップと省電力のチップでそれほど価格は違わないので、バッテリーで長時間動かすなどでない場合には、まずは真ん中の上の方にある高性能のチップを使っておけばいいと思います。

チップ単体の価格は非常に安いわりに高性能のため、実際の商品化する際には利用しやすいとは思いますが、趣味のレベルだとESP32で速度が足りない場合にSTM32の利用を検討すればいいかなと思っています。

ただSTM32は無線機能を持っていないので、無線機能を使う場合には別途ESP32やESP8266に接続して、通信部分だけ任せるみたいな使い方が多いみたいです。

STM32以外だとPICとかAVRも調べてみたも楽しいと思います。

もっとパソコンみたいな制御がしたい→Raspberry Pi

USB接続のカメラとかプリンターを制御したいみたいな場合には、Raspberry Piをおすすめします。Raspberry Piはマイコンではなく、小さいパソコンです。

本体のみのものもありますが、コネクタが特殊なのと、電源の要求が厳しいのでセットのものを選んでみました。

大きなRaspberry Piと、小さなRaspberry Pi Zeroがあります。バリエーションで無線が使えるものと、使えないものや、細かい性能が違うものがありますので最新の情報で調べ直してから購入したほうがいいと思います。

小さいパソコンなので、パソコンで出来ることは、大抵できますが、逆にマイコンではないのでマイコンで利用していたようなアナログ入出力などがそのままではできません。

I2Cなどはありますので、I2C経由でADCを接続するなどが必要になります。

Raspberry PiでGroveコネクタを利用するためのGrovePiという拡張ボードもありますが高いです。これはアナログ入出力などが使えるようにICを搭載して、変換しつつ簡単に使えるようになっているためです。

まとめ

ほんとうはmbedがブラウザだけで開発できるので、簡単なのですがそれを使って電子工作をするとかになると書籍と、部品を購入したりと結構面倒になります。

その点Arduinoのセットだと日本語のチュートリアルもついているのと、開発環境を整える練習もできるのでトータルで始めやすいのかなと思います。

直流安定化電源について調べる

いつかはちゃんとしたのを購入しないといけないなと思って調べました。

電源の種類

PCのUSB端子

ESP32とかの開発時にはパソコンに接続して開発をしています。省電力の場合これで十分ですよね。

ただ、パソコンからの電源の場合には0.5A以上が出なかったり、思ったよりノイズがでていたりするので、パソコンとの接続が必要ない場合には、他の電源を利用したほうがいい場合があります。

USB電源

Raspberry Pi3だと2.5Aぐらい必要になるので、ちょっと選択に困ります。2.4Aまでだと選択肢が多いですが、2.5Aだと途端に少なくなります。

最近のお気に入りは電源タップにUSB充電端子がついているもの。とりあえず一本持っていると何かと助かります。

最近は減りましたが、Quick Chargeとかの制御が入っていないものは、接続したUSB機材がショートしたときに電流制御されずに、煙を吐くのでなるべくならば制御付きの物がおすすめです。

モバイルバッテリー

モバイルバッテリーは便利なのですが、流れる電流が少ないと省電力で出力がなくなったりするので注意が必要です。

充電しながら使えないものや、充電完了した際に電源が一瞬落ちるものなど癖があります。安いものはそもそも電源が安定していなかったりと評判を確認してから購入したほうがいいでしょう。

電圧固定スイッチング電源

利用する電圧が確定している場合には、スイッチング電源が安くて安定していそうです。

とはいえ、中国製が多いので、スペック近くまで常時使うことはできず、かなり余裕をみて使わないと安定稼働しなさそうです。

直流安定化電源

昔ながらの直流安定化電源です。主に無線機用に使われていて、電圧を変更することができます。欠点としてはヒューズとかを入れておかないと、過電流が流れた場合にすぐに接続している機材が壊れてしまいます。

すでに持っている場合に流用することはできますが、電子工作用には適していません。

定電流モード付き直流安定化電源

定電圧(CV)、定電流(CC)とかの表示や機能がついている安定化電源です。

定電流は1Aなどにセットすると、1A以上の電流が流れません。回路がショートしたときにも燃える可能性が減ります。

一般的にはこの電源を持っていればいいのですが、オーディオとかのノイズが影響を与える場合には、国産の高いモデルを購入したほうが安全です。

学習サイト

https://www.kikusui.co.jp/comic/
マンガでわかる直流安定化電源

国産電源で老舗の菊水が公開しているコミックです。これをとりあえず読んでみると概要が把握できると思います。

まとめ

菊水などの国産電源がほしいのですが、高いのでちょっと個人だと手が出にくいですね。型落ちをヤフオクで購入するか、安い中華メーカーの電源をまずは購入するのがいいのかもしれません。

オシロスコープとロジックアナライザ入門

電子工作をやっていると、欲しくなるアイテムであるオシロスコープとロジックアナライザについて調べてみた。

スペックについて

基本的には何本の信号線を測定できるのチェンネル数と、どの周波数までを測定できるかで決まる。(あとは内部のメモリ量もたぶん重要)

チェンネル数

オシロスコープは通常2で、4もある。それ以上は非常に高いのでホビーユースでは使わない。

ロジックアナライザは通常8で、16もある。車用のだと32チェンネルとかもある。

周波数

卓上型のオシロスコープだと20MHzから100MHzぐらいが基本みたいです。小型のハンディータイプですと200KHzから2MHzぐらいが一般的です。

ロジックアナライザでは安いものが24MHzで、100MHzぐらいまでがホビーユースです。

一般的な選び方

いろいろなサイトをみたのですが、測定したいものに対して2倍から10倍の周波数を持つ、適切な機種を選んでねって書いてあって、まったく初心者にはわかりません。

そこで、電子工作で利用する通信プロトコルなどを選んで、実際にどれぐらいの周波数が必要なのかをわかりやすくしてみました。

用途別周波数、チャンネル数一覧

プロトコル周波数チャンネル
PS/215KHz2
UART(MIDI)31.25Kbps2
UART(RS-232C)1.2Kbps~115.2Kbps2
PWM1.2Kbps~312.5Kbps1
I2C100KHz~400KHz2
CAN10Kbps~1Mbps2
PCM64kbps~2.048Mbps4
LPT10MHz17
USB 1.112Mbps2
AC9712.288MHz5
SPI1MHz~24MHz4
Compact Flash 4.133MHz26
SD2.0/SDIO52MHz6
USB 2.01.5Mbps~480Mbps2

ざっくりと電子工作で利用しそうなものを列挙してみました。SPIとか機材が対応していれば周波数上限がないものはESP32とかで安定動作するであろう周波数を入れています。

チェンネル数的にプリンタのLPTとかが多いですが、いまどきパラレルケーブルで接続なんてしないですよね?

実際のところ、I2CとUARTを測定するのであれば、できれば1MHz以上の機種。標準速の4MHzのSPIを測定するんであれば10MHz以上の機種になると思います。高速のSPIを測定するのには100MHz、USB2.0を測定するのには1GHz以上の機種になります。

機種別おすすめ

Arduino 簡易オシロスコープ

九州工業大学情報工学部にて公開している、簡易オシロスコープです。

Arduinoに抵抗とコンデンサを接続して使う簡易オシロスコープです。2チェンネルで50KHzぐらいまで計測が可能です。

実際のところ、実用というよりは実験的なものになりますが非常に安価で試すことが可能です。

小型オシロスコープ DSO138 2CH 1Mbps

組み立て式のオシロスコープです。組み立て済みのものと、自分で組み立てるDIYキットがあります。ケースの付属などで値段が違っていますが、中身の設計は基本的には同じです。

DSO138以外にも似たようなオシロスコープがありますので、予算に応じて選ぶことができます。

1MHzで2chですのでI2CとUARTの信号をみることはできるとは思いますが、実際のところロジックアナライザで確認したほうが楽なので、ちょっと便利なテスターみたいな使い方になると思います。

据え置き型オシロスコープ 2ch, 4ch 100MHz

どうせ買うのであれば100Mhz対応のオシロスコープがいいと思います。ただ使いこなせるかといわれると、かなり難しいです。

I2CとUARTの信号は2chで問題ありませんが、SPIの信号を見るためには4ch必要です。

USB接続小型ロジックアナライザ 8CH 24MHz

パソコンに接続して使うロジックアナライザです。スペック上は変わらないのですが、左型の小型のは非常に当たり外れがあるみたいで、開発ボードのEZ-USBの方がおすすめです。

この商品にはソフトが付いてきませんので、無料で使えるsigrokを入れて使います。ちょっとドライバーとかのセットアップが複雑なので、その点はちょっとマイナスです。

SPIの計測は低速に設定すれば問題ないと思いますが、速度を上げると安定しない可能性があります。

USB接続ロジックアナライザ 16CH 100MHz

この機種以外にもありますが100MHz機種の紹介です。ただしこの機種は3チャンネルまで100MHzで計測できますが、6チャンネルで50MHz、9チャンネルで32MHz、16チャンネルで16MHzと周波数が変わります。

SPIは4チャンネル必要なので、50MHzでの測定になります。24MHzのSPIを測定できるぎりぎりですが、もう少し速度を落としたほうがいいのかもしれません。

Mixed-Signal Oscilloscope(MSO)

MSOとはアナログのオシロスコープに、デジタルのロジックアナライザを搭載した機種です。2chのオシロスコープと16chのロジックアナライザみたいな構成が多いです。

まとめ

本当は国産とか、海外の定番品が一番安全ですが、ちょっと高いんですよね。趣味で使うんだったら安めのロジックアナライザぐらいで十分な気がします。

オーディオとか、アナログ回路をやるんだったら、オシロスコープが必須ですよね。あとノイズとかの調査とか?

https://www.denshi.club/pc/measure/adalm10001.html
オーディオ帯域の波形を見る手軽なツール ADALM1000 (1) | 電子工作の環境向上

上記だとオーディオの場合1MHzぐらいまでなので、5MHz以上の帯域があればよいので一般的に販売されている20MHzの機種がおすすめ。ただ、発振などを調べるのには50MHz以上が必要と書いてあります。20MHzまでであればUSB接続で1万円以下の機種もありますが、そもそも必要なかったか、もっと上位機種に買い替えそうな予感がします。

LoRaWANについて調べてみた

参考にした資料

LoRaWAN 1.0.3仕様書(英文)

https://lora-alliance.org/resource-hub/lorawantm-specification-v103

この資料が一番正しいのですが、流石に読むのが辛いので、他の資料で全体的に調べてからピンポイントで確認する用途に使ったほうがいいです。

本文では引用時に「仕様書」と記述します。

LPWAを牽引する「LoRa」の概要と利用動向

http://www.soumu.go.jp/main_content/000450875.pdf

総務省の会議で利用された、LoRaのチップを製造するセムテック・ジャパン合同会社の資料。全体の概要を知るためには一番いい資料だと思います。

本文では引用時に「概要」と記述します。

What is LoRaWAN(英文)

https://lora-alliance.org/resource-hub/what-lorawantm

LoRa Allianceオフィシャルの説明資料です。「概要」でも引用されており、英文ではありますがわかりやすい資料です。

本文では引用時に「What」と記述します。

LoRaWAN端末番号の設定(引用なし)

「概要」と同じく総務省の会議で利用された資料です。データ送信手順などを「概要」より詳しく説明しています。

LoRaとは?

LoRaとは電波の変調方式で、FM放送とかAM放送みたいなものです。特徴として長距離を低電力で通信するために設計されています。ただしLoRaWANはLoRa変調の他にFSK変調も利用可能ですので、すべてのLoRaWANがLoRa変調を資料しているとは限りません。

また、LoRa変調はLoRaWAN以外でも利用できますので、LoRaWANではないLoRa通信も存在しているので注意しましょう。

日本だと920MHz無線モジュールやLoRaと記述されているが、LoRaWANと書いていないものについては、LoRa変調を利用しているが、LoRaWANと互換性のない独自通信規格です。

用途が固定されており、該当モジュールで問題がない場合にはLoRaWANではなく、独自通信規格の方が日本の場合、安価で購入できるとは思います。

LoRaWANとは?

「Waht」8ページ

LoRaWANとは通信プロトコルとシステムアーキテクチャを定義したものです。通信物理層はLoRa変調、もしくはFSK変調を利用し、長距離通信に対応しています。

アーキテクチャではノードのバッテリー寿命やサービス品質、セキュリティーなどを定義しています。

End Nodes

センサーなどを利用してデータを収集したり、アプリケーションサーバーからのデータを表示したりする端末です。

日本だと単純にノードと表記されていることが多いと思います。

Concentrator/Gateway

ノードと実際に通信をするゲートウェイ装置です。ノードと上位のネットワークサーバーとのやり取りを転送する役目を持っています。

LoRaWANの場合、ノードとアプリケーションサーバー間が暗号化されているので、ゲートウェイは通信されている内容を確認することはできません。

また、ゲートウェイもノードと同等の機能を持っている場合が多く、自身で取得したセンサー情報などを上位にアップすることが可能です。この場合にはLoRa変調などの無線通信を行わず、直接上位サーバーに送信されます。

ゲートウェイは自分で設置することも可能ですし、ネットワークサーバーが提供している公開ゲートウェイもあります。ただし、現状ネットワークサーバーが提供している公開ゲートウェイの数は非常に少なく、自分で設置する必要がある場合がほとんどです。

Network Server

ここがわかりにくいところなのですが、ゲートウェイが接続されるネットワークサーバーは自分で構築することも可能ですし、無償サービスの他、商用サービスもあります。

接続するゲートウェイが、利用したいネットワークサービスに接続されている必要があるので注意してください。また、特定のノードしか接続を許可しないゲートウェイも存在するのでご注意ください。

(商用)SORACOM Air for LoRaWAN

https://soracom.jp/services/air/lora/

日本で一番有名な商用ゲートウェイだと思います。現在はKDDIグループに所属しており、積極的に情報を発信しています。

https://lora-space.soracom.jp/map

上記で共有利用可能なゲートウェイがわかりますが、渋谷とか新宿にはたくさん設置されています。1つだけだといつなくなるか心配ですが、たくさん設置されている人はわざわざゲートウェイを新規で設置する必要はなさそうですね。

自分だけが使えるゲートウェイと、SORACOMユーザー全員が使える公開ゲートウェイを選ぶことができます。

端末ごとにネットワークサーバーに関する費用がかかるので、しっかりしたサポートがあるのの反面、もろもろ費用はかかってきます。

(無償)The Things Network

https://www.thethingsnetwork.org/country/japan/

無料で使える互助会的なサービスネットワークで、TTNと表記されることが多いです。オープンソースで公開されており、同じものを自作することも可能です。

SORACOMのような商用ネットワークサーバーを利用しない場合、まずはTTNに接続することになると思います。

Application Server

ネットワークサーバーはノードとの通信を行いますが、ネットワークサーバー自体ではそのデータを収集するだけで、特殊な処理を行いません。

そこで外部のアプリケーションサーバーと連携して、ノードからのセンサーデータなどを処理を行います。

図ではノードとアプリケーションサーバー間が、暗号化されてセキュアだと書いてありますが、ノードからの暗号化通信をネットワークサーバーが復号化している場合もありますのでネットワークサーバーの実装次第だと思います。この場合でもネットワークサーバーとアプリケーションサーバーはSSLなどで別途暗号化されていますので外部からはセキュアですが、ネットワークサーバーが乗っ取られた場合には通信内容が漏洩してしまいます。

通信クラス

「概要」の9ページから詳細な説明があります。基本はクラスAしか使わないと思いますので、概要だけ説明します。

「What」10ページ

クラスA

一番基本的なクラスで、ノード側から通信を行い、送信後にゲートウェイからの受信を行います。一番バッテリー消費が少ないクラスです。

反面送信をしないと受信をしないので、1日1度しか送信をしないノードの場合、受信タイミングが遅れてしまいます。また、送信タイミングもノード側の時計に依存しますので、1日に何秒もずれるような時計を使っている場合、どんどん送信時間もずれてきてしまいます。

ノード側が一定間隔で送信するため、ほぼ同時に送信する端末がいた場合にはお互いに邪魔をしてしまうことがあります。

クラスB

ビーコンというキーワードが出てきたらクラスBです。ゲートウェイから定期的にビーコンを送信し、ノードがビーコンを受信したらノードからデータを送信することが可能です。

大きなデータをノードから送信する場合には、クラブBなどで他の通信がなるべく発生しないようにしたり、タイムスケジューリングをすることができます。

現状のところ検証段階のため、あまり利用されていないようです。

クラスC

このクラス以外は送信後に一定時間スリープをして省電力モードになっていますが、クラスCは送信時以外は常時受信をするクラスです。

バッテリー駆動ではなく、常時電源接続されている環境用であり、省電力を売りにするLoRaWANと矛盾しますが、遠距離通信や検証時には便利なモードです。

地域別サマリー

「What」12ページ

日本は920-925MHzと規定されていますが「ARIB STD-T108」という運用ルールがあり、実際に使える周波数はもっと狭くなります。

https://qiita.com/ammo0613/items/d952154f1195b64dc29f
LoRaWANと920MHzのルール

上記サイトにまとまっていますが「ARIB STD-T108」では920.6MHzから923.4MHzが利用できるとあります。

https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html
LoRaWAN Frequencies Overview

TTNの資料によると更に狭い周波数が記述されていました。

Uplink(ノード→ゲートウェイ)

  1. 923.2 – SF7BW125 to SF12BW125
  2. 923.4 – SF7BW125 to SF12BW125
  3. 922.2 – SF7BW125 to SF12BW125
  4. 922.4 – SF7BW125 to SF12BW125
  5. 922.6 – SF7BW125 to SF12BW125
  6. 922.8 – SF7BW125 to SF12BW125
  7. 923.0 – SF7BW125 to SF12BW125
  8. 922.0 – SF7BW125 to SF12BW125
  9. 922.1 – SF7BW250
  10. 921.8 – FSK

この中でチャンネル9と10は通常のLoRaではないので922.2MHzから923.4MHzまでの7チャンネル利用しています。

Downlink(ゲートウェイ→ノード)

  • Uplink channels 1-10 (RX1)
  • 923.2 – SF10BW125 (RX2)

クラスAの場合、ノードから送信した場合、2度ゲートウェイからの受信を待ち受けます。1度目が送信に利用したチャンネルで、2度目がAS923の送信デフォルトチャンネルである923.2MHzです。

送信確認

LoRaWANでは送信したデータを相手が受信できたか確認する機能があります。デフォルトはオフですが、Confirmed Dataと呼ばれる送信確認を受け取った場合にはACKと呼ばれる受信確認を送信します。

Uplink(ノード→ゲートウェイ)

ノードからゲートウェイにConfirmed Dataを送信した場合に、ゲートウェイが受信できたかをゲートウェイからノードにACKを送信します。

この場合にはネットワークサーバーやアプリケーションサーバーは関与しませんが、送信確認が取れているデータということは確認できます。

Downlink(ゲートウェイ→ノード)

アプリケーションサーバーからノードにデータ送信を依頼した場合、ネットワークサーバーにキューイングされており、ノードからの送信があった場合にゲートウェイがネットワークサーバーを確認し、キューイングされていた場合、ノードにデータを送信します。

ノードは受信したデータがConfirmed Dataの場合、ゲートウェイにACKを送信します。ゲートウェイはACKを受信した場合には、ネットワークサーバーを経由してアプリケーションサーバーに送信が完了した旨を連絡します。

技適の費用を調べてみた

通すことは無いだろうが、気になったので調べてみました。

技適とは?

日本国内で通信をする場合、技適と呼ばれているものが必要になります。正式には「技術基準適合証明」もしくは「工事設計認証」です。

技術基準適合証明とは

無線機材ごとに書面と試験を行い、日本の法律に適合していることを証明する仕組みです。実際には全数チェックではなく、ランダムで抜き出した機材を検査して、全数が合格する必要があります。

主に小ロットの製品の場合に使われる証明です。

工事設計認証とは

大量生産した無線機材に対して、一括して認証をする仕組みです。一定した品質で製造されていると仮定して、任意の1台に対して書面と試験を行います。

費用

https://www.telec.or.jp/services/tech/price.html

TELECのサイトに詳細がありましたので、その数字にて計算していきます。

ターゲット機材として、一番安い特定小電力機器のその他を選びました。アンテナ一体型だと暗室利用が必要で10万円追加でかかりますが、外付けアンテナの機材とします。

技術基準適合証明の場合

基本料

初回は2万円、同じ製品を同じ条件で再申請する場合には1.3万円。

検査費用

抜き取り検査のため、申込台数によって検査台数が変わります。

https://www.telec.or.jp/services/tech/item.html

上記によると

申し込み台数抜取台数
1〜2全数
3〜152
16〜252
26〜503
51〜905
91〜1508
151〜28013
281〜50020

となっていました。

1台目は2.4万円で、2台目以降は1.6万円です。

試算表

申込台数検査台数基本料1台目費用以降費用合計費用1台あたり
1120,00024,00016,00044,00044,000
2220,00024,00016,00060,00030,000
10220,00024,00016,00060,0006,000
25220,00024,00016,00060,0002,400
26320,00024,00016,00076,0002,923
50320,00024,00016,00076,0001,520
51520,00024,00016,000108,0002,118
90520,00024,00016,000108,0001,200
91820,00024,00016,000156,0001,714
100820,00024,00016,000156,0001,560
150820,00024,00016,000156,0001,040
1511320,00024,00016,000236,0001,563
2001320,00024,00016,000236,0001,180
2801320,00024,00016,000236,000843
2812020,00024,00016,000348,0001,238
5002020,00024,00016,000348,000696

抜き取り台数が増える直前の25台、50台、90台、150台、280台あたりで頼むのが単価が安くなりますね。

工事設計認証の場合

基本料

30万円。ISO9001認定を受けていない工場だと6万円加算。

検査費用

9万円。

合計費用

39万円

技術基準適合証明と工事設計認証の使い分け

500台に対して技術基準適合証明を取得した場合が約35万円なので、500台以上売れる見込みのないものは技術基準適合証明の方が適していそう。

ただし、技術基準適合証明は、試験用の改造が必要になった場合には全数に対して行う必要がある。改造に手間がかかるのであれば、工事設計認証で試験端末だけ改造をしたほうが安くなる場合もあると思います。

この他の費用

申請で必要な資料作成費用

アンテナなどの特性データが必要なので、製造元から提供されないと検査機関に持ち込んで計測する必要があります。

申請代行費用

自分で申請しない場合には、申請代行を使うと思いますのでその費用がかかります。

最後に

今回の計算は1周波数帯だけの試験なので安いですが、パソコンなどの場合Wi-fi(2.4G, 5G)とBluetoothで3周波数帯になるので、その分高くなると思います。

技適データベースを見ていて、工事設計認証じゃなくて技術基準適合証明だと、あまり数が出ない想定なんだなって思うのと、販売数が申請内容からバレちゃうってのもやだなって思いました。

また、海外の製品だと技適マークがついているけれど、番号が書いてないモジュールとかが販売されていて、技適データベースで調べると日本で正規販売しているものだけ個別で技術基準適合証明を取得している場合があったりして、間違って買ってしまいそうになりました。

電波利用ホームページのWeb-API 機能を利用して、技適を検索できるようにした

技適を調べていたら、Web-APIを提供していることを知ったので、試してみました。

本家のサイトだと、検索がいまいちイケてないですので、全件データを抜いてきて自由に検索できるようにしました。

作成したサイト

https://lang-ship.com/giteki/

概要

JSONで年度ごとにデータを取得してきて、それをSQLiteにいれました。そのDBを検索して表示しています。負荷を考えて過去取得したデータはファイルで保存してありますが、過去データに更新が入ることがなるんですよね、、、特に備考欄で社名変更があるので、たまに全件取り直さないと差分が出るかもしれません。

現状は全角文字を半角に置換しているぐらいで、元データをあまり触っていません。

サンプルURL

https://lang-ship.com/giteki/search.php?typeName=ESP32

こんな感じの検索用URLだとESP32を含む技適が一覧表示されます。

https://lang-ship.com/giteki/detail.php?typeName=ESP32

こんな感じの表示用URLだとESP32を含む技適が詳細表示されます。

今後の拡張

  • データの自動更新がないので、定期的に更新をするようにする→完了
  • 新着通知がほしい→完了
  • 周波数帯で検索できるようにしたい!

Arduinoで赤外線サーモグラフィーカメラを使う

ふと発見したので、調べてみた。

AMG8833(8×8)

Panasonic製のセンサーで、8×8の簡易的なIR Arrayセンサーです。エアコンなどで人がいる場所を検知するために設計された感じかな?

手の温度も検知できるので、手振りでのジェスチャー入力などにも利用が可能です。反面解像度が8×8の64ドットしかないので、細かいデータは取れません。

上記みたいに本来の解像度は低いですが、がんばってバイリニア補間などを使うことによって、擬似的に解像度を上げることができます。

異常発熱している場所はどこかって調べるぐらいの用途であれば、これで十分なのかもしれません。センサーを移動しながら探せばなんとなくヒートマップがわかるはず。。。

Melexis MLX90621(16×4), MLX90641(16×12), MLX90640(32×24)

これは日本だとあまり取り扱いがないのかな? キットとして組み込んで販売している人はいましたが、Amazonだと取り扱いがありませんでした。

ベルギーの会社が作っていて、こちらもエアコンとか、オーブンの中の温度管理で使われているようです。人の移動などを検知しようとしたら正方形の解像度より、横長の方がいいだろうってことで、センサーも横長になっています。

AMG8833に比べると少し高いですが8×8だと使いにくい用途にはいいのではないでしょうか?

FLiR Lepton

ガチの赤外線サーモグラフィーカメラを販売している会社の、センサー部分になります。

  • FLiR Lepton 1.5(80×60)
  • FLiR Lepton 1.6(80×60)
  • FLiR Lepton 2.0(80×60)
  • FLiR Lepton 2.5(80×60)
  • FLiR Lepton 3.0(160×120)
  • FLiR Lepton 3.5(160×120)

上記パターンがあって、基本はカメラだけってよりは、開発ボードと一緒に購入するので組み合わせると結構高額になってしまいます。

これだけの解像度があれば、あまり補間しなくてもしっかりと姿が見えます。

ArduinoでNFC(FeliCa, rfid)を使いたい

RFIFカードリーダーモジュール

定番品がいろいろあって、UNOとかのキットにも含まれていたりします。

ただし、これって電波法的にグレーで、たぶん使っちゃだめなやつだと思います。多くのRFIDは技適じゃなくて誘導式読み書き通信設備とかに該当しますので、規定以下の電波強度しか出しちゃだめなはずです。

多くの製品は外国の基準なので、日本の基準を超えているはずです。非接触のアンテナに電力を届けるためには数センチの距離に近づける必要がありますが、実際の電波はばりばり遠くまで届いているみたいです。

SONY RC-S620/S

通常は一般販売されていないモジュールですが、スイッチサイエンスさんが販売してくれています。通常はフラットケーブルのままだと使いにくいので、同じくスイッチサイエンスさんのピッチ変換基板を一緒に使うのが定番となります。

UARTで通信できますので、開発自体は簡単にすることが可能だと思います。組み込みで利用する場合には、これ一択といって良い状況です。

USB HOSTシールド+PaSoRi

RC-S620/Sだと面白くないので、他の方法がないか探してみました。

USB HOSTシールドを利用して、USB経由で利用している人を発見しました。

ただし、対応しているPaSoRiがRC-S320, 330, 370の3機種のみです。最新型のRC-S380には対応していません。ただPythonなどでRC-S380にアクセスする方法などは、わりと公開されているので頑張れば自分で対応できるような気もします。

RC-S320あたりが自宅にあったかもしれませんので、USB HOSTシールドだけ購入して検証してみようかな、、、

ArduinoでLTE通信をする

ArduinoでLTE通信をする方法を調べてみた。

Wi-Fiモバイルルーター

テザリング機能を利用して通信。身も蓋もないがESP32などを利用してWi-fi接続して使うのが一番簡単で安価だろう。

モバイルルーターは長時間運用を想定していない場合があるので、長期間の安定運用を目指す場合には機器選定に気をつける必要がある。ただし商品の入れ替わりが激しいので長期間にわたり同じ機種を購入するのは難しい場合が多い。

Wio LTE JP Version

Seeed社の技適取得済みLTE対応モデルです。ソラコムでも販売しているので比較的日本での情報が多く、組み込みで利用しやすいボードだと思います。

Seeed社は昔からSIM内蔵ボードを作ってきているので、安心して利用できるが、ドキドキしないので仕事では使うかもしれないが、個人だとちょっと物足りないです。

SIM7000JC

https://ja.aliexpress.com/item/SIM7000JC-LTE-M1-NB-IoT-Moudle-SIM7000JC-B1-B3-B5-B8-B18/32965644652.html

cat.M1のLTEで通信することができる30ドルぐらいの安価なモジュールです。チップ単体で購入することもできますが、AliExpressだとブレイクアウト基板が販売されていました。

https://sakura.io/blog/2019/02/22/smc-catm1/

さくらさんにて検証してありますが、かなり使うための準備が必要そうです。JCでない技適が通っていないモデルだとUNO用のSHIELDが販売されているので、こちらもそのうち販売されるかもしれません、、、

リクエストすればJCで作ってくれるかしら? ただ以下の場所にドキュメントがあったので、これみながら開発することができるかも。

https://www.dfrobot.com/wiki/index.php/SIM7000_Arduino_NB-IoT/LTE/GPRS_Expansion_Shield_SKU:_DFR0505/DFR0572

WisLTE Cellular BG96 Arduino Shield

https://www.rakwireless.com/en/WisKeyOSH/WisLTE

上のさくささんが検証していたBG96をシールドに実装したもの。Aliexpressだと80ドルぐらいで販売されていました。

ちょっと使ってみたいですが、別にUNOとかを用意するんだったらWio LTEでもいいかなと思って手がでないです。

ただGPSも使えますので、Wio LTEよりも使いやすい場所はあると思います。そして日本語情報が殆どないってのも素敵です。

京セラ GPSマルチユニット

https://www.kyocera.co.jp/prdct/telecom/office/iot/products/gps_multiunit.html

Cat.M1に対応していて、GPSも使えるユニットです。UARTで通信ユニットとしても使えるようです。発表当初には参考価格も好評されていましたが、今見たら記述が消えていました。

GPSなしの「IoTユニット」もありますが、一般販売していないので、こちらの「GPSマルチユニット」も販売されるかわかりません。

当初発表された価格で販売されるのであれば、利用しやすいユニットな気がしますが一般販売されないんだと仕方ないですね。

初心者向けDIY 3Dプリンター 2019年3月

自分で組み立てる安価なタイプの3Dプリンターを調べたところ、思ったより情報がまとまっていなかったので、自分でまとめてみました。

有名製品一覧

名前価格販売方式出力サイズ層の高さFeederExtruder外形寸法重量URL
Anet A2$226.992016Cartesian-XZ-Head220 x 220 x 220 mm100 - 300 MicronsBowdenSingle500 x 500 x 490 mm6.0 kgURL
Anet A3$315.892016Cartesian-XZ-Head150 x 150 x 150 mm100 - 300 MicronsBowdenSingle315 x 333 x 375 mm10 kgURL
Anet A4 Delta$269.992017Delta200 D x 210 H mm100 - 400 MicronsDirectSingle330 x 330 x 640 mm6.8 kgURL
Anet A6$265.002016Cartesian-XZ-Head220 x 220 x 250 mm100 MicronsDirectSingle480 x 400 x 400 mm10 kgURL
Anet A8$174.902016Cartesian-XZ-Head220 x 220 x 240 mm100 - 400 MicronsDirectSingle498 x 398 x 450 mm8.5 kgURL
Anet A8 Plus$282.392018Cartesian-XZ-Head300 x 300 x 350 mm100 - 400 MicronsDirectSingle612 x 462 x 573 mm10 kgURL
Anet E10$223.802017Cartesian-XZ-Head220 x 270 x 300 mm100 - 400 MicronsBowdenSingle400 x 440 x 495 mm9.6 kgURL
Anet E12$249.002018Cartesian-XZ-Head300 x 300 x 400 mm100 - 400 MicronsBowdenSingle486 x 500 x 594 mm8.8 kgURL
Anycubic i3 Mega$328.992017Cartesian-XZ-Head210 x 210 x 205 mm100 - 400 MicronsBowdenSingle410 x 405 x 453 mm14.5 kgURL
Anycubic i3 Mega-S$339.002018Cartesian-XZ-Head210 x 210 x 205 mm100 - 400 MicronsBowdenSingle410 x 405 x 452 mm14.5 kgURL
Creality CR-10$439.002017Cartesian-XZ-Head300 x 300 x 400 mm100 - 300 MicronsBowdenSingle615 x 600 x 490 mm14 kgURL
Creality CR-10 Mini$459.952018Cartesian-XZ-Head300 x 220 x 300 mm100 - 300 MicronsBowdenSingle490 x 420 x 500 mm7.5 kgURL
Creality CR-10S$499.002017Cartesian-XZ-Head300 x 300 x 400 mm100 - 300 MicronsBowdenSingle615 x 600 x 490 mm13 kgURL
Creality CR-10S 400mm$699.002018Cartesian-XZ-Head400 x 400 x 400 mm50 - 250 MicronsBowdenSingle590 x 700 x 615 mm11.5 kgURL
Creality CR-10S 500mm$869.002017Cartesian-XZ-Head500 x 500 x 500 mm50 - 250 MicronsBowdenSingle600 x 760 x 620 mm15 kgURL
Creality CR-10S Pro$619.002018Cartesian-XZ-Head300 x 300 x 400 mm100 - 400 MicronsBowdenSingle490 x 550 x 654 mm13.1 kgURL
Creality CR-20$369.002018Cartesian-XZ-Head220 x 220 x 250 mm100 - 400 MicronsBowdenSingle420 x 410 x 470 mm9.5 kgURL
Creality CR-20 Pro$419.002019Cartesian-XZ-Head220 x 220 x 250 mm100 - 400 MicronsBowdenSingle420 x 440 x 470 mm7.9 kgURL
Creality CR-X$699.002018Cartesian-XZ-Head300 x 300 x 400 mm50 - 400 MicronsBowdenMix550 x 400 x 650 mm12 kgURL
Creality Ender 3$219.992018Cartesian-XZ-Head220 x 220 x 250 mm100 - 400 MicronsBowdenSingle440 x 410 x 465 mm7.8 kgURL
Creality Ender 3 Pro$249.002018Cartesian-XZ-Head220 x 220 x 250 mm100 - 400 MicronsBowdenSingle440 x 410 x 465 mm6.9 kgURL
Creality Ender 4$399.002018H-bot220 x 220 x 300 mm100 - 400 MicronsDirectSingle450 x 460 x 480 mm13.8 kgURL
Creality Ender 5$329.002019H-bot220 x 220 x 300 mm100 - 400 MicronsDirectSingle552 x 485 x 510 mm14.2 kgURL
Creality Portable Ender 2$229.992016Cartesian-XZ-Head150 x 150 x 200 mm100 - 400 MicronsDirectSingle300 x 330 x 540 mm4.2 kgURL
Geeetech A10$219.002018Cartesian-XZ-Head220 x 220 x 260 mm100 - 400 MicronsBowdenSingle478 x 413 x 485 mm7.5 kgURL
Geeetech A10M$299.002018Cartesian-XZ-Head220 x 220 x 260 mm100 - 400 MicronsBowdenMix478 x 413 x 485 mm7.5 kgURL
Geeetech A20$349.002018Cartesian-XZ-Head255 x 255 x 255 mm100 - 400 MicronsBowdenSingle442 x 447 x 480 mm7.5 kgURL
Geeetech A20M$399.002018Cartesian-XZ-Head255 x 255 x 255 mm100 - 400 MicronsBowdenMix442 x 447 x 480 mm8.8 kgURL
Geeetech A30$395.992017Cartesian-XZ-Head320 x 320 x 420 mm50 - 300 MicronsBowdenSingle508 x 615.5 x 630.5 mm10.12 kgURL
Geeetech E180$229.002017Cartesian-XZ-Head130 x 130 x 130 mm50 - 300 MicronsBowdenSingle284 x 156 x 320 mm4.5 kgURL
Geeetech GiantArm D200$699.002017Cartesian-XZ-Head300 x 180 x 180 mm50 - 300 MicronsDirectSingle470 x 350 x 395 mm16.5 kgURL
Geeetech Mecreator 2$385.002016Cartesian-XZ-Head160 x 160 x 160 mm50 MicronsDirectSingle320 x 320 x 360 mm9.05kgURL
Geeetech Rostock Mini G2 Pro$559.502016Delta190 D x 200 H mm100 MicronsBowdenSingle320 x 320 x 870 mm9.5kgURL
Original Prusa i3 MK3$999.002017Cartesian-XZ-Head250 x 210 x 200 mm50 MicronsDirectSingle419 x 381 x 419 mm6.35 kgURL

販売年月日が重要で、新しいものほどおすすめです。ただしAnetなどは同じ型番でちょっとずつ改良しているかもしれませんのでご注意を!

価格

主にAmazon.comの値段を持ってきています。サイトや次期によってかなり差があるのであまり当てにしないでください。

販売

販売開始年を表示しています。2016年ごろからいろいろなメーカーが販売を始めていますが、2016年販売のものは設計が古いので、手を入れないとプリントの精度が出ないみたいです。

方式

一般的には「Cartesian-XZ-Head」という、二本の柱が立っているタイプが主流ですが、「Delta」と呼ばれるタイプもあります。 「Delta」 は最近あまり製品が出ていないので、一台目にはたぶん適していない気がします。

「H-bot」が箱に入っているタイプで、業務用のはほとんどこのタイプだと思います。骨組みに費用がかかるので、高い価格帯のものしか出ていません。

出力サイズ

150mm四方の物が小型、200mm四方ぐらいで中型、300mm-400mm以上で大型に分類されるのかな?

設置場所次第ですが、220mmぐらいの物が入門機としては主流のようです。

層の高さ

50ミクロンから200ミクロンぐらいまで幅がありますが、スペックはあまり信用してはいけないようです。50ミクロンで印刷できると書いてあっても、印刷できるだけで実用的な精度で印刷できるわけではないようです。。。

同じように速度も最高速度が記述されていても、その速度で実用的な精度で印刷できるわけでもないようです。。。

Feeder

材料のフィラメントを押し出す方式で、ダイレクト型とボーデン型の2種類あります。フィーダーとヒーターが一体化しているのがダイレクト型で、安定した押し出しができますが、ヘッドが重くなります。フィーダーとヒーターを分離しているのがボーデン型で、距離が離れていると押出が不安定になりますが、ヘッドが軽いので高速印字が可能になったり、ヘッドを動かした際の振動が減ります。

どっちがいいのかは微妙なところなので、現時点ではあまり気にしなくてもいいと思います。

Extruder

フィラメントが実際に印刷される場所で、1色しか使えないシングルと、2色使えるミックスがあります。ほとんどの物がシングルなので最初の一台はシングルがいい気がします。

サイズと重量

サイズは出力サイズに反映されて、重さが重いほど安定した印刷ができると思います。

おすすめ機種

Anet A8

DIY 3DプリンターのリファレンスモデルであるReprapを安価にした標準的なモデルです。販売開始は2016年と古いですが、非常に数が売れているモデルのため、情報が探しやすいです。

AliExpressやBanggoodなど外国サイトからだと150ドル前後から購入することができます。ただし2週間前後届くまでに時間がかかるのと、なにかあったときに面倒なのと、それほど値段差が無いのでAmazon.co.jpで購入してもいいかもしれません。

Amazon.co.jpの場合にはAnet純正ではなく、互換品の場合があるのでご注意ください。ただしAnet自体もReprapを元に作っているので、、、

また、この機種はフレームがアクリル板でできているので、剛性が足りません。印刷すると動作で揺れるので、サポートツールを3Dプリントして補強するなどが必要となります。3Dプリンターの仕組みを勉強し、どうすれば印刷精度が上がるのかを実験するのには非常によい機種だと思います。

Creality Ender 3

Anet A8が海外では150ドル前後、Creality Ender 3は200ドル前後で売られています。送料が5000円前後かかることが多いので、こちらもAmazonで購入してもいいのかもしれません。

200ドル以下の製品では一番印刷品質が良いと言われています。そのまま使うのであればこの機種が一番のおすすめだと思います。

CrealityはCRシリーズの評判が非常にいいのですが、最近のモデルは値段が高くなりすぎてしまって手が出にくいです。

Geeetech A10M

Geeetechは安価な商品を昔から提供していたメーカーです。他社と同じようなものを、他社より安く出す方針?

このモデルはEnder 3と同じような構造で、2色のフィラメントが使えるモデルです。Mがないモデルはシングルで、Mがつくとミックスで2色になります。

AとかEがつかないモデルも出していますが、Anetと同じReprap型のモデルで、現在は積極的に販売していない古いモデルなので、避けたほうが無難だと思います。

Anycubic i3 Mega

300ドル以下の製品で一番評判がよいと呼ばれているモデルです。15キロ前後と重い分精度の高い印刷が可能だと思います。

Megaって書いてある割には、出力サイズはそんなに大きくありませんのでご注意ください。

Original Prusa i3 MK3

オリジナルのPrusa i3です。この機種からより安い部品に置き換えたり、必須でない部品を取り外したのがこれまで紹介した機種となります。

MK3と3代目ですが、公式サイトでは古いバージョンからのアップブレードキットが販売されていたりと、最新の仕様で使い続けることが可能です。

ただし、10万円以上するので、DIYではなくて完成品の3Dプリンターも検討したほうがいいのかもしれません。

新製品の傾向

2019年の新製品が徐々に発表されて来ていますが、キューブ型とヒーターの24V化とかで、その他はあまり大きな差はないようです。

キューブ型(H-bot)

完成品は基本箱型ですが、値段を下げるために箱型以外の物が多かったですが、印刷精度をあげるためにはやっぱり箱型の方が有利なようです。

まだそれほど出回っていないので、評価はできませんが今後の流れとしては箱型が増えてくると思います。

これはPrusa i3型の製品のパーツを流用し、HyperCube型と呼ばれる箱型の枠に入れ替える改造が現在流行っているためです。自作している人のブログを見た限り、Prusa i3型の1万円相当の部品を流用し、それに2万円程度の部品を新規購入してHyperCube型に作り変えていました。

ただし、HyperCube型を作るのにも3Dプリンターが必要なので、既存のを組み替えるのであれば3万円で全部作成し、完成してから古い3Dプリンターを知り合いに譲ってもいいのではと思います。

ヒーター24V化

12Vのヒーターを24V化することによって、予熱時間が減るという変更です。他に効果的な改造ポイントが無いので、とりあえず変更して新製品にするって感じでトレンド化している気がします。。。