昨日の
RaspberryPiは量産に向かないことが分かった時点がIoTの幻滅期のはじまりかな?
http://blog.goo.ne.jp/xmldtp/e/4357009ba2c2ca4588d96aa1deb8c904
のはじまり、「なぜ、Raspberry Piを使うの」について、
逆に、「なぜPCではいけないの?」を書いておかないと、
Raspberry Pi陣営から文句でそうなだけでなく、
「みんな大好きRaspberry Pi」の理由も分からないし、
「GPIO端子があるので、マイコンや通信モジュールと接続しやすい」
の意味が通じないので、ちょっとかいてみる。
まず、PCにいきなりセンサーをつけるのはむずかしい。
PCにI2CやSPIの端子はない。UARTはできるけど、(シリアルで)センサーと
直接つなぐには(GPIOみたいなのはないので)USBに直接つながるセンサーに
限られる。
なので、PCを使った場合、無線を使うか、LANを使うか、GWをおくかになる。
無線を使う場合、Wifiだと、2.4GHz、5GHz同時に使っても60箇所くらい?
なので、100を越える箇所の接続は難しい。
2.4GHz帯の場合、ZigBeeかBLEになるし、
サブギガでWi-SUN,EnOcean,LoRaを使うことになる。
ここでXBeeを使えば、USB経由で(XBeeはUSBドングルが売っているので)
ZigBee、BLEの通信が出来る。
ただし、この場合、センサー側もRFモジュールが必要になり、
センサーが数百もあると、コスト面で問題。
LANはPC側は問題ないけど、センサー側でLANに直すことになり、そのための
チップが必要で、やっぱり、端末数が多くなると、コスト的に問題。
GWを置き、有線でというのは、現実的な回答なんだけど、ではそのGWを
何で作る?という問題が起こる。ちなみに、GWを一番簡単に作れるのが
Raspberry Piだ。
ここまでを、まとめると、
「なぜPCではいけないの?」は、以下のことから、PCにセンサーをつなげるのは
コストまで考えると、Raspberry Piよりも不利
・PCにいきなりセンサーをつけるのはUSBのセンサー以外、むずかしい
→センサーの多くは、USBの口はない(UARTはあるが、端子があるだけ)
・無線やLANを使う場合、センサー側も対応する必要があり、そのコストが大きい
→数百台以上のセンサーに通信モジュールをつけるコストはばかにならない
・GWをおく場合、結局、そのGWは、なんでつくるの?という問題がのこる。
ここで「みんな大好きRaspberry Pi」
・有線でやるなら、RS485。これなら、
センサー+
マイコン(PICなら100円から)+
RS485トランシーバー(SN75176BPなら秋月で60円)
で、センサー1拠点はできるので、安上がり。
・これを受けるのは、Raspberry Piなら、GPIOピンがあるので、RS485なら
RS485トランシーバー(SN75176BPなら秋月で60円)の
DE,REピンをGPIOのどこかに
DをGPIOのTXに
RをGPIOのRXに
接続してくれれば、/dev/ttyAMA0(今は/dev/S0かな?)に読み書きすることで、
簡単に送受信できる(もちろん、DE,REピンを制御してね!)
そして、そのデータを、インターネットに流せばよい。
ここまでの処理をPythonで簡単に出来る・・・ので、
「みんな大好きRaspberry Pi」
ふぉ~ながかった。上記を一言でまとめると、
「GPIO端子があるので、マイコンや通信モジュールと接続しやすい」
になるんです(^^;)
ただ、続きがあって、べつに、Raspberry Piじゃなくても、今
イーサネット-UARTコンバーター
http://www.microtechnica-shop.jp/shopdetail/000000000011/
って、売ってるから、これにRS485トランシーバーつければ、よくね?
というのは・・・し~っ、だまってろ(^^;;;)
RaspberryPiは量産に向かないことが分かった時点がIoTの幻滅期のはじまりかな?
http://blog.goo.ne.jp/xmldtp/e/4357009ba2c2ca4588d96aa1deb8c904
のはじまり、「なぜ、Raspberry Piを使うの」について、
逆に、「なぜPCではいけないの?」を書いておかないと、
Raspberry Pi陣営から文句でそうなだけでなく、
「みんな大好きRaspberry Pi」の理由も分からないし、
「GPIO端子があるので、マイコンや通信モジュールと接続しやすい」
の意味が通じないので、ちょっとかいてみる。
まず、PCにいきなりセンサーをつけるのはむずかしい。
PCにI2CやSPIの端子はない。UARTはできるけど、(シリアルで)センサーと
直接つなぐには(GPIOみたいなのはないので)USBに直接つながるセンサーに
限られる。
なので、PCを使った場合、無線を使うか、LANを使うか、GWをおくかになる。
無線を使う場合、Wifiだと、2.4GHz、5GHz同時に使っても60箇所くらい?
なので、100を越える箇所の接続は難しい。
2.4GHz帯の場合、ZigBeeかBLEになるし、
サブギガでWi-SUN,EnOcean,LoRaを使うことになる。
ここでXBeeを使えば、USB経由で(XBeeはUSBドングルが売っているので)
ZigBee、BLEの通信が出来る。
ただし、この場合、センサー側もRFモジュールが必要になり、
センサーが数百もあると、コスト面で問題。
LANはPC側は問題ないけど、センサー側でLANに直すことになり、そのための
チップが必要で、やっぱり、端末数が多くなると、コスト的に問題。
GWを置き、有線でというのは、現実的な回答なんだけど、ではそのGWを
何で作る?という問題が起こる。ちなみに、GWを一番簡単に作れるのが
Raspberry Piだ。
ここまでを、まとめると、
「なぜPCではいけないの?」は、以下のことから、PCにセンサーをつなげるのは
コストまで考えると、Raspberry Piよりも不利
・PCにいきなりセンサーをつけるのはUSBのセンサー以外、むずかしい
→センサーの多くは、USBの口はない(UARTはあるが、端子があるだけ)
・無線やLANを使う場合、センサー側も対応する必要があり、そのコストが大きい
→数百台以上のセンサーに通信モジュールをつけるコストはばかにならない
・GWをおく場合、結局、そのGWは、なんでつくるの?という問題がのこる。
ここで「みんな大好きRaspberry Pi」
・有線でやるなら、RS485。これなら、
センサー+
マイコン(PICなら100円から)+
RS485トランシーバー(SN75176BPなら秋月で60円)
で、センサー1拠点はできるので、安上がり。
・これを受けるのは、Raspberry Piなら、GPIOピンがあるので、RS485なら
RS485トランシーバー(SN75176BPなら秋月で60円)の
DE,REピンをGPIOのどこかに
DをGPIOのTXに
RをGPIOのRXに
接続してくれれば、/dev/ttyAMA0(今は/dev/S0かな?)に読み書きすることで、
簡単に送受信できる(もちろん、DE,REピンを制御してね!)
そして、そのデータを、インターネットに流せばよい。
ここまでの処理をPythonで簡単に出来る・・・ので、
「みんな大好きRaspberry Pi」
ふぉ~ながかった。上記を一言でまとめると、
「GPIO端子があるので、マイコンや通信モジュールと接続しやすい」
になるんです(^^;)
ただ、続きがあって、べつに、Raspberry Piじゃなくても、今
イーサネット-UARTコンバーター
http://www.microtechnica-shop.jp/shopdetail/000000000011/
って、売ってるから、これにRS485トランシーバーつければ、よくね?
というのは・・・し~っ、だまってろ(^^;;;)