小型パソコンで組込みな要望
マイコンわからないんだけれど・・・・組込み・・(-∀-`; )
こんばんは。
キテレツです。
先日、こんな相談を受けました。
そんなニーズあるんですよね
実際。
マイコンのことわからなくても、制御とかやりたいってニーズが。
WindowsとかLinuxのソフトなら書いたことあるけれど、マイコンのソフトは書いたことがない。
んで、制御とかの案件があった時に
( *´∀`)ノ 「マイコン仕掛けだと高いから、パソコンでなんとかならない??」
って客先からお話がくるらしいです。
エェ━━━━(´Д`υ)━━━━・・・
な感じですが、よくある話でもあります。
よくある話で、よくある結末に行き着きます。
これってですね。。。。。
結局高くなるんです
えぇ。結局高くなるんです。
マイコンシステムの場合、電子基板と言う目に見えるモノを作らなければならないこともあり、比較的単価が高くなるのが日常です。
スマホ等で手軽に利用されているBluetooth機能でさえ、組込みとして利用しようとすると、ハードウェアだけで7000円くらいの部品を必要とします。
それにソフトウェアを足し算すると、Bluetoothを利用したいだけなのに、最新型のスマホが簡単に変えてしまうくらいの金額に跳ね上がります。
( *´∀`)ノ 「モジュールが高いなら、基板作ったらええやん!!」
とか言い始める人もいるんですが、基板作ったらモジュールよりも高くなるじゃんって話なんです。
ハードウェアなモノ作りはこんな事情があるんですけれども・・・・だからと言って、パソコン制御すると簡単かというとそうでも無いことに気がつくんです。
OSが絡むと制御って大変
だったりします。
デバイスドライバー作って、動作確認して・・・・イレギュラーが発生したらデバイスドライバーから作りなおして・・・・(´д`ι)
って作業が想定されます。
さらに、OSのブラックボックスな部分が起因するトラブル等に見舞われた場合、マイコンソフトの比では無いほどの絶望感を味わいます。
定期的に実行したい処理が不定期になってしまうのは日常茶飯事です。
マルチタスクやマルチスレッドなソフトを組込みでやっちゃうと・・・・・・トラブルと悲惨な目に遭遇するダメージは相当です。(-∀-`; )
結局、長期開発期間が必要になり・・・・
高価になってしまうんですね。
組込みLinuxが流行り始めた頃に、こんな話が繰り返されておりました。
(*゚∀゚)っ 「Linuxって有り物を使うんだから安く高機能になるでしょ!?」
って認識のお客さんに対して・・・・
(*゚Д゚)*゚д゚)*゚Д゚)エエェェ
って先輩が言ってた光景を思い出します。
雑誌とかでもてはやされてましたからね。
高機能な組込みシステムが短期間で開発できる!!って。
しかし、現実は甘くありません。
当時は、ダイセン電子工業の組込みLinuxでCPUとしてSH3が搭載された基板を利用しようとしたんですが・・・・・コストが合わず断念しました。
結局、H8基板で作って何も問題が起きなかった・・・(´д`ι)
まぁ、当時の自分たちに技術力が無かったのもありますが、OS無しな環境であれこれ作ってた自分たちには、OSを特に必要とはしなかったわけで。
ファイルシステムもライブラリ使って実現してましたし。
※当時はSDカードしか実績もってませんでしたが
小さなデスクトップPC
話題になってますよね。
デスクトップパソコンが小さくなれば、箱のなかに収めて擬似組込みとかいけそうです。
これとか。
http://www.itmedia.co.jp/pcuser/articles/1403/25/news155.html
組み込み向けのLinuxボードも
進化しています。
代表格は「Raspberry Pi」でしょうか。
ライブラリが用意されているので、比較的簡単に制御を学べるそうですが、経験者いわく、「Linuxプログラミングの教育やね」って感想を聞かせてもらいました。
それはそれで、キテレツ的には興味あります。(*´∀`)アハハン♪
もともと、Raspberry Piは教育向けに開発されたものですが、現実の世界で仕事で利用するシーンも増えてきている様子です。
パーソナルな使い方には遅くて話になりませんが、組み込み用途であれば十分な速度だと思います。
ちなみに、キテレツは5/18くらいに、一台手に入れる予定です。。゚ヽ(゚´Д`)ノ゚。 ヤッターン♪
Arduinoもそうですね。
ArduinoはOSではありませんが、ミドルウェアとしてC++ソースコードに変換される中間コードです。
実際はAVR向けのc++コンパイラが動作しているわけですが、それを感じさせないお上手な作りになっています。
ライブラリもシンプルなので制御も楽ちんです。
AVRマイコンの事を知らなくてもプログラミングできますし、CPUがATmelだろうがARMだろうが関係ありません。
Arduinoと冠がついていれば、好みのCPUが搭載されたボードを準備すればOKって事です。
8bitで不満なら、32bitのCPUを採用したArduinoを利用すればよいわけで。