2017-01-18 4 views
0

私はマイクロコントローラの初心者です。だから助けてください!マイクロコントローラをインターネットに接続し、APIからデータをダウンロード

タイムスタンプのメモリが1年間保持されたマイクロコントローラを使用したいと考えています。その理由は、今日の時刻に応じて出力をトリガーする簡単な条件文を書いている理由です(例えば時刻== Xの場合、出力= 1に設定)。データをマイクロコントローラにタイムスタンプする?実際にはAPI経由でダウンロードできます.APIコールを行い、マイクロコントローラを介して情報をダウンロードすることはできますか?または、データをメモリに保存する別の方法がありますか?

非常に助かります。あなたの質問へ

+2

"マイクロコントローラー"では不十分です - 「マイクロコントローラー」から「インターネット接続*システム」(ハードウェアはもちろん、より多くのソフトウェア)までの道のりです。あなたの*システム*について説明してください。その質問が「*私は何のハードウェアが必要なのですか?*」になったら、SOはそれを聞く場所ではありません - あなたはソフトウェアについて聞くことができますが、あなたの広範な質問は幅広い回答しか得られません。あなたが必要とするものになります。 – Clifford

+0

ラズベリーパイを使用したことはありますか?比較的安価で、タイムスタンプをファイルに保存し、Pythonスクリプトでデジタル出力を簡単に切り替えることができます。問題の説明はかなり薄いので、これがあなたが探しているものかどうかは分かりませんが、それは良いフィット感があるようです。 – semaj

+0

Piはそれを考えなかったかもしれません。私はこの場合、ロジックをPiに移植し、出力無線送信をトリガーして別のデバイスセットを制御すると思います。ありがとうsemaj! – genesis

答えて

-1

回答は、あなたの設計要件に依存し、制約:あなたが使用したいんどのようなマイクロコントローラ

  • 、そしてどのくらいのメモリが利用できるのだろうか?
  • インターネットに接続できますか?インターネット接続はいつでも利用できますか?
  • 何時になるのですか?
  • 時間の経過とともにタイムスタンプが変化しますか?例えば。一度ダウンロードされると、タイムスタンプのリストは廃止になりますか?

多くの方法があります。手動でデータをダウンロードし、SDカードまたはマイクロコントローラの内部メモリ(データセットが小さい場合)に書き込むことができます。または、APIを使用してデータをダウンロードするようにマイクロコントローラをプログラムすることもできます。そのメモリの制限を念頭に置いてください。多くのユニットには1〜2kBのRAMしかありませんので、すべてのデータを一度にダウンロードしてRAMに保存することが問題になります。

+0

はい、インターネットは常に利用可能であり、接続できるコントローラを使用していると仮定します。 1日のタイムスタンプのセットがダウンロードされるので、このプロセスは毎日行われます(データサイズの問題を避ける必要があります)。 あなたはどのような時を知っているかについての3番目の質問 - わかりません。気象に関するいくつかの洞察を分かち合うことができれば、これはできるだけハードウェアを少なくして行うことができます。本当に感謝しています。 – genesis

-1

"マイクロコントローラ"は完全なシステムではなく、すべて同じではありません。これは、8ビットの8051のベアメタルコードを実行する低レベルのものでも、Linuxを実行できる32ビットのチップでもかまいません。 「マイクロコントローラ」とインターネットの間には、さらに多くのハードウェアとソフトウェアがあります。

ソフトウェアの観点からは、StackOverflowで質問が有効な範囲であるため、少なくともTCP/IPスタックとネットワークインターフェイス用のドライバ(Ethernetが最も一般的)が必要です。データをどのように格納するかは、完全にあなたの設計の範囲内です。あなたのシステムはファイルシステムを持っているかもしれませんし、少量のEEPROMしか持っていないかもしれませんし、例えば内蔵フラッシュメモリに保存するかもしれません。あなたのソフトウェアソリューションは、システムで利用可能なハードウェアリソースに合わせて調整する必要があります(システムはマイクロコントローラだけではありません)。

TCP/IPスタックが与えられた場合、「API」はそのスタックが提供するものになります。完全なBSDソケットAPIかもっと軽量なものかもしれません。 FTP、Telnet、SSHなどのアプリケーション層プロトコルを提供する場合と提供しない場合があります。この単純なアプリケーションでは、独自のアプリケーションプロトコルで、TCP/IPソケットレベルで作業できるようになります。

もうひとつ考慮すべきことは、どこから来るのかです。システムにはRTC(RTCクリスタルとバッテリーが必要)が必要ですか、インターネット接続、GPSなどのソースを介して時間が掛かりますか?

+0

システムは基本的に、コード化された条件に応じていくつかの出力デバイスを制御することを意図しています。しかし、チェック値は毎日異なるので、条件付きで実行する前に日次データをソースにするコントローラが必要です。 そして、この毎日のデータはAPIを介してオンラインで入手することができます - はい、インターネット接続を介して時間が得られます。我々はinbuilt EEPROMを使用すると言う。 私の問題は、毎日データを取得するための実際のコードを書いていることです。どうやってやるの?コントローラ内部にTCP/IPスタックが必要ですか?これを行うために使用されたソフトウェアは何ですか? – genesis

+0

インターネットのプロトコルはTCP/IPですので、必ずTCP/IPスタックが必要です。シリアルI/Oのみを持つシンプルなデバイスを接続するためのシリアルブリッジングにTCP/IPをサポートするインターフェイスモジュールがあります。これらのモジュールのいくつかはユーザーコードをサポートしており、GPIOをいくつか持っているので、アプリケーションをスタンドアロンでサポートすることができます。 TCP/IPスタックは、コードとハードウェアの大部分を占める、目的のアプリケーションに比べてかなり大きく複雑です。 – Clifford

+0

さて、TCP/IPスタックをコード化する方法を教えてください。もしあなたが知っていれば、初心者の参考文献を提供してもらえますか? – genesis

関連する問題