インターネット対応の天気表示にはどのマイクロコントローラーとプログラミング言語を使用すればよいですか?


11

私はIoTの初心者ですが、IoTのキャリアを始めたいと考えています。GoogleでIoTのスタートアップを検索していると、多くのブログが見つかりました。そして、C#、Java、Node.jsなどのIoTで使用されている言語と、Arduino、Raspberry Pi、Intel、Netduinoなどのマイクロコントローラーを見つけました。

IoTは初めてなので、どの言語が最適で、どのマイクロコントローラーをスタートアップに使用するのかわかりません。

基本的なスタートアップとして、携帯から与えられた場所の天気を表示するディスプレイを備えたデバイスを作成したいと思います。したがって、ハードウェア、インターネット、ソフトウェアをカバーするスタートアップの良い例かもしれません。

デバイスは、バッテリー駆動の小型デジタルディスプレイであり、コスト制限があります。

天気を表示するための要件を満たす、どのマイクロコントローラーと言語を使用すればよいですか?


1
これは以前の質問よりもはるかに良い質問のようです。特定のユースケースにより重点を置いています。良い答えが得られるように、いくつかの質問をここに示します。お使いのデバイスは主電源または電池式のどちらですか?ディスプレイをどのくらいの大きさにしますか?費用制限はありますか?
Aurora0001

2
また、マイクロコントローラーを選択するために、この答えは本当に素晴らしいです。
Aurora0001

1
ありがとう@ Aurora0001コメントを追加して詳細を追加しました。確認してください。
Jigarb1992

1
ピッキングニット:Arduinoはマイクロコントローラーです。Piは完全なコンピュータであり、PisやBeaglebones、Gumstixなどは通常、「シングルボードコンピュータ」(SBC)または「コンピュータオンモジュール」(COM)と呼ばれます。Piとは異なり、ArduinoはOSを実行しません。Arduinoは、便利なIDEが同梱されている、小さくて使いやすいボード上のAtmel ATmega ?? 8にすぎません。Piは、ARM Cortex-A53マイクロプロセッサコアを搭載した実際のコンピュータです。たとえば、Piを使用してすべてのネットワーキングを行い、出力を表示し、Arduinoで複雑な制御を行って、読み取りボタンやRFIDタグなどの単純な作業を行うことができます。
Jason C

1
バッテリー駆動のデバイス:スマートフォン/スマートウォッチ(Liバッテリー、充電から数日後の寿命)、または時計(AA充電不可、数か月間の寿命)のようなものですか?後者を選択すると、それがデザインを動かし、オプションを厳しく制限します。
pjc50 2017年

回答:


5

個人的には、Raspberry Pi 3Bを選択しますが、実際に必要なものよりもはるかに強力です。これを提案する理由は次のとおりです。

  • 802.11 b / g / nワイヤレスLANが組み込まれているため、イーサネットケーブルではなくWi-Fiネットワークに接続できます。

  • Bluetoothもサポートしているため、それを介して電話に接続できる場合があります。

ディスプレイユニットも必要です。便利なことに、この4DPI-32タッチスクリーンのように、Raspberry Pi用に設計されたディスプレイがいくつかあります。ディスプレイを40ピンヘッダーに直接スロットすることができるはずです。

40ピン Raspberry Pi FoundationCC BY-SA 4.0。これは技術的にはPi 2Bですが、GPIOは3Bでも同じです。

この場合のプログラミングの側面については、APIからどこかで天気を取得し、それをGUIプログラムとして画面に表示するだけです。ディスプレイはPiのHDMI出力と同じように機能するため、特別なことをする必要はありません。Pythonの場合、Tkinterを使用して基本的なUIを作成できます。また、使いやすさに応じて、HTML / CSS / JSでWebアプリケーションを作成することもできます。OpenWeatherMap APIを無料で使用できます。ドキュメントは各APIエンドポイントにリンクされています。

この時点で、それはあなた次第です。ここで最適な言語は、最も使いやすい言語です。AngularJSが好きな場合は、HTMLページを作成し、Angularで天気を取得(またはこのようなライブラリを使用して支援します)し、CSSを使用して表示して見栄えをよくします。

実際に場所を取得するには、ユーザーがPiのタッチスクリーンに自分の場所を入力できるようにするほう簡単だと思います。たくさん調べれば何かを見つけることができるかもしれませんが、スマートフォンの位置を送信することはおそらくもう少し難しいでしょう。

バッテリーの使用については、Raspberry Pi Stack Exchangeに関するこの質問は一読に値します。


1
Vilros Pi Kitsをプラグインする必要があります。これは、箱から出してすぐに機能し、煩わしい初期設定を大幅に節約します。また、トピック外ですが、デバッグのために、これ(およびサイトを検索した場合の高耐久化バージョン)は非常に役立つことがわかりました。使い捨てには高価ですが、常に使用する価値がある。HDMI-> VGAアダプターでうまく機能します。
Jason C

1
いいえ。1つ目は壊れやすいSDカードに依存しているため、2つ目は適度な量で実際に製造できないためです。piを使用すると、概念実証を得ることができますが、実際に製品で使用できるものを中心に再設計する必要があります。さらに、それは基本的に、あらゆる深刻な使用におけるバッテリー電源の完全な非スターターです。
Chris Stratton、2017

@ChrisStratton:OPのような初心者にとって、RPiは私の意見では実行可能なオプションのようです。はい、大規模な制作の場合、これは理想的ではありませんが、私はアクセスしやすく、変更が容易なアイデアを提供することに焦点を当てました。POCはまさにここで必要なものです。愛好家のセットアップにとっても、SDカードは本当に大きな問題ではないと思います。大量生産では話は異なりますが、出発点として、これは十分に機能するはずです。しかし、私はより良いアプローチのための提案を受け入れます。
Aurora0001

これらの問題が製品でそれを実行不可能にする方法とは別に、ポスターのバッテリー電力要件は、最初からそれを除外します。piはモバイル向けの電源管理のないセットトゥボックスアーキテクチャであるため、妥当なバッテリーを数時間以上使用することはできません。
Chris Stratton

10

オニオンオメガ2世界最小のLinuxコンピュータであることを主張します。その主張は真実ではないかもしれませんが(たとえば、以下のvocore2を参照)、私の経験では、最小の3に収まるようになっています。彼らのウェブサイトで利用可能ないくつかの盾を持っています。真新しい製品で、強力で活発なコミュニティがあるようです。Kickstarterバッカーがデバイスを取得します。チェックアウトする価値があります。

また、コメントで指摘されているように、実際にはオニオンよりも小さく、4ドルで安いと思われるvocore2をチェックしてください。それは現在IndieGoGoで資金を供給されており、出荷予定日は2017年2月(本書の執筆時の翌月)です。また、利用できるドックの品揃えが豊富で、Wi-Fiルーターが組み込まれているので、とてもクールです。

私は先日それらに遭遇したばかりで、それらの経験はありません。ただし、その新しさのために、慣れ親しんでいるLinuxパッケージの一部はまだ利用できない場合があります(たとえば、この記事の執筆時点では、Onionではgstreamerパッケージが利用できないことを知っています)まだ、ソースからビルドする必要がありますが、gstreamerは関係ありません)。

他の答えが言うように、それらの不足はPiが非常に低コストのデバイスであることを示しています。Raspberry Pi Zeroも忘れないでください。RaspberryPi Zeroは、Onionと並ぶ小さな$ 5のコンピューターです。大きなPiが持っているすべてのポートがボード上にあるわけではありませんが、気にしない場合、または最終製品で3を開発に、そのサイズを0にしたい場合は、検討する価値のある別の選択肢です。

一部の高価な他のデバイスには、次のものがあります。

  • BeagleBone Black(これは、コストが低いために真剣に検討したい唯一のPiの代替品です)。
  • Gumstix($$$ですが、プロジェクトでは常にこれらのサイズを使用しています)
  • Udoo($$$がパンチを詰め込みます)
  • Toradex Colibri(少し扱いにくいですが、これらもよく使用します。Gumstixよりも優れたスペックであり、Windowsツールチェーンと実質的にゼロの起動時間を希望する場合は、Windows CEをインスタントブート機能で実行するオプションがあります。 )。

また、Vilrosはいくつかの素晴らしい Piスターターキット(Amazonでは安い)をOSに事前にパッケージ化しており、動作するWifi、ヒートシンク、ケースを箱から出してすぐに動作し、大量の面倒なセットアップ作業を節約できます。あなたがパイルートに行くかどうかもチェックする価値があります。Vilrosはまた、Beagleboneスターターキットを作成するために使用していました。これは彼らのサイトでは利用できなくなっているようですが、Newegg / Amazon / etcを検索すると。あなたはまだ利用可能な在庫を見つけることができます。


ちなみに、Arduino(または上記の本格的なシングルボードコンピューターとは対照的な別のマイクロコントローラー)だけでは、おそらくここでは望みません。ArduinoはAtmel ATmega168 / 328です。それはOSを実行せず、実際に実行するように指示すること以外には何も実行しません。したがって、たとえば、ネットワーキングには、イーサネットシールドが必要です。これには、TCPおよびUDPスタックを提供すると思われる完全なイーサネットコントロールライブラリが付属しています(私はこれを使用したことがなく、サイトを閲覧するだけです)。もちろん、多くの限られたコードスペース。

次に、気象クライアントとその上にあるすべてのものを構築する必要があります。すべてを32KB以下で実行する必要があります。これは、Pi / Beaglebone / Gumstix / ColibriなどでLinux / Windows開発を行うのとは異なる開発方法です。この回答の範囲外です。

Arduino ここ優れているのは、圧力センサー、ボタンの読み取り、基本的な電子要素の制御など、ハードウェアインターフェイスを実行するためのメインシステムへのアドオンとしてです。

組み込みシステムの開発は、Piで行うデスクトップ開発とはまったく異なります。特に、経験のないArduinoだけでこれを実行することはお勧めしません。


1
vocore2は現在より小さく、安価(4ドル)で、まだOpenWRT(Linux)を実行しています
Matija Nalis 2017年

2
これを使ったオープンソースのストーリーは何ですか?
Sean Houlihane 2017年

@SeanHoulihane素晴らしい質問です。私が見つけることができるかどうかを確認します、彼らのKickstarterページとホームページは問題に関して不足しています。上のMatijaのvocore2コメントの後の、私は実際にはオニオンの人々の「世界最小」の主張に少し不満がありますが、多分彼らはオープンなアーキテクチャで自分自身を(私の謙虚な目で)償還できるでしょう。
Jason C

3
人々はキックスターターで何でも主張できることを覚えておいてください
ショーン・フーリハーン2017年

@SeanHoulihaneあら、Kickstarterのヘイトランから始めないでくださいね。抵抗する、抵抗する...それでも、Kickstarterの主張とオープンネスは別として、Omegaとvocoreはどちらもかなりクールに見える新しいデバイスです。そして、RPi Zeroも低コストの最前線にあります。
Jason C

6

使用する言語とコントローラーを見つけるための段階的なアプローチをお勧めします。必要なマイクロコントローラーは、実行するタスクによって異なります。理論的には、タスクは適切なマイクロコントローラーが満たすいくつかの要件を設定するため、これらの要件に応じてマイクロコントローラーを選択する必要があります。

  1. デバイスのユーザーストーリーを定義します。それから何を期待しますか?何ができるようにしたいですか?

    あなたの場合、それはあなたによってすでに定義されています:

    スマートフォンからの入力を受信し、要求された場所の気象情報を独自のディスプレイに表示できるバッテリ駆動のデバイス。

  2. ここで、ステップ1.から始めてみましょう。ブロック図レベルで必要なハードウェアを決定できます。

    あなたは確かにあなたの携帯電話と通信するためのディスプレイとおそらくWiFiまたはBluetoothモジュールが必要になります。世界中の気象データベースにアクセスするには、おそらくインターネット接続が必要になります。これらの両方をMCUで制御するか、WiFiモジュール(Bluetoothを除外するにはインターネットが必要)がディスプレイを制御してソフトウェアを実行できる必要があります。

  3. 特定の部品の検索を開始できます。使用するバッテリーを決定することから始めることができるため、潜在的な部品の電力消費を考慮することができます。以前の回答の 1つで、MCUを選択するための一般的なプロセスをまとめました。基本的に同じことがここで行われるべきです。安価なディスプレイを見つけてください。通信にはおそらくSPIまたはI2Cインターフェイスを使用します。次に、SPI / I2Cを備えたWifiモジュールを検索でき、統合MCUまたは個別のMCUとWiFiモジュールがあります。個々のWiFiモジュールはおそらくUARTを使用して通信するため、個々のMCUはSPI / I2Cに沿って通信する必要があります。

  4. 言語も。ほとんどのマイクロコントローラーは、この分野での可能性を制限します。ほとんどの場合、C、C ++、またはアセンブリのいずれかを選択します。厳密に言うと、ここでのマイクロコントローラーはシングルボードコンピューターではありません。

    Linuxやその他の強力なOSを実行できるBeagleBoneまたはRaspberryを使用する場合は、最良の言語はあなたが最もよく知っている言語であり、もちろんタスクを処理できるはずです。(必要に応じて、RPiでJavaを実行できます。

    グローバル気象データサービスへのソケットのオープンは、C、C#、またはPythonでも実行できます。CでJSONを処理するのは少し難しくなりますが、確かに可能です。

一般的なコストについて言えば。最良のオプションはWiFi対応のディスプレイデバイスを検索することです。多くの結果が得られ、それらのほとんどは同じハードウェアを使用します。おそらくこれが最も安価です。


あなたは使用することができESP8266インターネットに接続し、ディスプレイをインタフェースするのArduino互換性のあるWiFiモジュールを。Raspberry Piよりもいじくり回す必要がありますが、安上がりです。

これは、ESP8266 + OLEDディスプレイに関するHackadayプロジェクトです。


2
プロセスの良い内訳。Micropythonは多くの小さなボードで使用できます。考慮すべき1つの要素は、ボードのエコシステムであり、オープンソースライブラリがあるかどうかです(MCUベンダーも多くの場合、優れたライブラリを提供しています)。
Sean Houlihane 2017年

6

スタートアップを作ることは、テクノロジーで何ができるかということではなく、製品についてさえもです。VCを魅了することができる成功したスタートアップのために、あなたは最初にあなたがサービスを提供しようとしている市場について考える必要があります。しかし、あなたが奉仕する市場を考えるだけでは十分ではありません。市場に関する実際のデータが必要です。それはあなたにとって意味のあるものだけではありません。製品を作成してそれを販売することは、成功したアプローチではありません。これが、成功していない新興企業の終わり方です。市場は本当に必要です。製品をクレートする場合は、特定の市場に対応するために製品を作成します。これが成功する製品、つまり人々がすでにそれを求めているために売れる製品を作るものです。VCは、特にすでに販売している場合、そのような製品を持っているスタートアップにのみ投資します。

製品を開発するためのテクノロジーを最初に選択するには、製品が何をする必要があるかを知る必要があります。これが、選択した市場で問題を解決する方法です。次に、潜在的な顧客がそれに対して喜んで支払うものを調べます。次に、コストを予算内に抑えながら、市場投入までの時間を最短にするテクノロジーを選択しました。次に、開発を外部委託するか、それを実行でき、あなたと協力してくれるパートナーを選びます。50/50の利益をパートナーと共有します。次に、プロトタイプを作成したら、ビジネスプランのレイアウトを開始し、VCを魅了できるのは、VCがどのように収益を上げることができるかを示した場合のみであることを覚えておいてください。

大量生産のために製品のコストを下げる必要がある場合は、低レベルの言語と、ASM / C / C ++を備えたMicrochip PICまたはSilicon Labs EFMなどのリソースの少ないマイクロコントローラーを使用できます。製品が大量生産(100k +)に対応していない場合は、より高水準の言語とよりリソースの多いマイクロコントローラー(ARM32 MIPSを備えたMicro PythonやLua、ARM32 / 64を備えたLinuxなど)を使用してください。これにより、開発コストを節約できますが、ハードウェアの価格が高くなります。製品の価格はコンポーネント付きのPCBではありません。開発、住宅、梱包など、製品を販売するために必要なすべてのものは、そのコストに含まれるべきです。それをビジネスプランに入れてください。そして、Arduino、Raspberry pi、Onion、または趣味のガジェットのように見えるものを使用してVCにアクセスしないでください。

ダウンではなく、起動して、幸運を祈ります。


それは本当にマーケティングの完全な意味を成します。ありがとうございました:)
Jigarb1992 '29
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.