タグ付けされた質問 「esp8266」

プログラミングやIoTコンテキストでの使用など、ESP8266マイクロコントローラーユニットに関する質問。

1
このアーキテクチャは実現可能で柔軟ですか?
私のプロジェクトが本当に実現可能かどうか確認するのに苦労していますが。 アーカイブするもの:インターネット経由でSenseoコーヒーマシンを制御します。つまり、単純に2つのボタンを制御することになります。 最初の簡単な解決策: Raspberry PiにNodeJSサーバーをセットアップします。 Raspberry GPIOを2つのトランジスタに接続して、コーヒーマシンのボタンを制御します JavaScriptでRaspberry GPIOを直接制御できます。たとえば、http://myraspberrypi.com/makemeacoffeeを呼び出すと、GPIOがアクティブになり、ボタンがアクティブになり、コーヒーが流れます しかし:私はラズベリーをコーヒーマシンに接続したくありません(他の目的でPiが必要です)。Webサーバーとコントローラー自体を分離することは良い考えだと思います。明日、バスルームの温度を監視したい場合、または(別のESP8266を使用して)2台目のコーヒーマシンを制御したい場合は、全体を考え直すことなくそれを実行できます。 それをアーカイブする必要があるのは、Wi-Fiヘッドレスコントローラーとして使用するためにNodeMCUを備えたESP8266です(このリンクを参照)。Raspberry GPIOは使用されなくなりました(これがポイントです)。PiにはNodeJS Webサーバーのみがあります。 これはアーキテクチャの簡単なスケッチです: 主なコンポーネントの役割を明確にしましょう: Raspberry Pi:NodeJS Webサーバーをホストします NodeJS Webサーバー:Webページをエンドユーザーに提供します。基本的に「Make me a coffee」というボタンのあるページ。背後で、水ボタンを「押し」、30秒待ってから、コーヒーボタンを「押し」ます。Webサーバーは、ESP8266にHTTPリクエストを(Wi-Fi経由で)送信することでこれを行います。NodeJSサーバーはロギングとデータ分析も行います(今年は何杯のコーヒーを飲みましたか?) ESP8266:NodeMCUを使用します。そのGPIOは、コーヒーマシンのボタンを制御するトランジスタに接続されています。ESP8266に電力を供給する方法については気にしません。Raspberry Piリクエストをリッスンし、それに応じてGPIOでアクションを実行するWebサーバーを実行します。 このアーキテクチャは実現可能ですか?このアーキテクチャは柔軟ですか? 編集、ショーンフーリハネ(投稿を比較的短く保つネタバレ)に答えるには: これについては100%よくわかりませんが、トランジスタで十分です。コーヒーマシンスイッチは低電圧(3、3 V)で動作しており、ESP8266はコーヒーマシンとグラウンドを共有しません。 温度感知と水位制御については、Senseoコーヒーマシンにこれが組み込まれています。一般的な使用方法:中央のボタンを押して加熱プロセスを開始し、「シングル」または「ダブル」ボタンを押してコーヒーのサイズを選択します。加熱プロセスが終了すると、コーヒーが流れ始めます。十分な水がない場合、それは終了し、LEDが点滅します。 私が期待する進歩: バージョン1.0は、「コーヒーマシンを実行するだけで、準備ができていると確信しています」になります。シングルカップボタンとヒートアップボタンを操作します。 バージョン2.0は「マシンを実行してフィードバックを提供する」になります。別のESP8266がフィードバックLEDに接続されていて(加熱されているときと水がなくなったときがわかるようになっています)、別のESP8266がスケールを確認してコーヒーマシンを実行する前にカップがあります。コーヒーマシンが実行されたときに、ユーザーにポッドを変更するように通知するアラートを追加することもできます。 バージョン3.0では、ポッドが変更されたかどうかを確認する方法を見つけるために、なんらかのスイッチでメカニズムの開放を追跡します。しかし、これは現時点では私のプロジェクトの範囲外です。

2
LuaのESP8266のサブミリ秒タイマー
サーバーで制御されるESP8266でリモート制御サーボモーターコントローラーを作成しようとしています。私が直面している問題は、のような非同期タイマーを作成する方法ですtmr.alarm()が、マイクロ秒単位です。tmr.delay()他のすべてを停止し、あまり正確ではないため、うまく機能しません。あなたはこれをArduinoで動作させることができますが、これをLuaに実装する方法は?
9 esp8266 

2
ESP12-Eビデオストリーミングウィンドウ、テキストおよびボタンが期待どおりに表示されない
ESP8266(12-E)モジュールに接続されたarducam mini 2MPカメラを使用していて、テキストとコントロールボタンが周囲にあるウィンドウ内に、すべて同じブラウザータブ/ページにビデオストリーミングを実装しようとしています。サーバーで使用する2つのHTMLページを作成しました。1つ目は、画像ストリーミングのないホームWebページで、テキストボタンといくつかのCSSを備えた単純なページです。2番目のHTMLページは、連続するフレーム(ストリーミングビデオ)といくつかのテキストおよびボタンをブラウザーに提供します。ホームページがブラウザに送信されると、すべてが期待どおりに表示されます。しかし、2番目のHTML Webページが提供されているが、ブラウザー(FirefoxまたはChrome)がサーバー(esp12-e)からの応答を受信すると、奇妙なことが発生します。 通常、私は小さなウィンドウにカメラから取得した連続フレームを表示し、そのウィンドウ上にテキストとその下にいくつかのコントロールボタンを表示することを期待します。しかし、その代わりに2つのことが起こります。 ブラウザのタブにはビデオストリーミングウィンドウのみが表示されますが、このウィンドウの周りには灰色の背景色しかありません。ボタンなし、テキストなし。「インスペクタ」の「ヘッド」の内側を開くと、背景の灰色を作成する数行のHTMLコードと、サーバーで記述していないCSS要素がいくつかあります。どういうわけか、ブラウザはこのコード行を自動的に作成し、私のオリジナルのHTMLコードに追加します。 私の元のHTMLコードでは、「body」内に、ストリーミングウィンドウのコードとともに、表示されるテキスト要素とボタン要素のコードがあります。しかし、ブラウザでは、これらの部分は消えます。インスペクターを開くと、これらの要素は存在しません!これまでに、ブラウザのタブ内にストリーミングウィンドウを分離/埋め込むことで、この状況を回避するためにさまざまなアプローチを試みてきました。これらのアプローチは、iframe、データURI、multipart / x-mixed replace、formです。残念ながら、これらすべてのアプローチで同じ結果が発生しました(灰色の背景色、画面中央のストリーミングウィンドウ、表示されていないボタンとテキスト)。 私が知っている唯一のことは、ブラウザがサーバーからの着信画像を「見る」と、これらの副作用が生じることです。テキストとボタンのみのHTMLを作成すると、うまく表示されます。私はここで何か悪いことをしていますが、それが何であるかを見つけることができません。 以下に、ブラウザーのタブで取得したものの2つの写真と、esp-12eサーバーから送信した写真キャプチャ用のHTMLコードを添付します。 void serveWebpage(WiFiClient client){ String answer = "HTTP/1.1 200 OK\r\n"; answer += "Content-Type: text/html\r\n\r\n"; answer +="<!DOCTYPE HTML>\r\n"; answer += "<html>\r\n"; answer +="<head><title> Monitor </title></head>\r\n"; answer += "<body>\r\n"; answer += "<h1 style=\"position:relative; left:25px;\"> &#9875 Observation Panel &#9875</h1>\r\n"; // Header Text …

4
リアルタイムおよび履歴センサーデータを視覚化するIoTプラットフォームはどれですか?
学生向けのチュートリアルを準備するために、IoTの分野でいくつかのDIYエレクトロニクスプロジェクトに取り組んでいます。ESP32、ESP8266、Arduino Uno、Raspberry Piを使用したい。私はファームウェア/ハードウェアの部分に詳しいので、クラウドアプリケーションの経験はありません。 Azure IoT、AWS、GoogleなどのIoT PaaSがあることを知っています。いくつかの単純なプロトタイプを開発したいので、データをクラウドに送信して、バックエンドのコーディングスキルなしでそれらを視覚化したいだけです。上記のサービスでは、データ(DB、UI / UXなど)を表示するために追加の専門知識が必要です。 私はググって簡単な解決策を見つけ、これらのサービスがポップアップしました: uBeac TagoIO ThingsBoard フリーボード myDevices 負けた 物事 ティンガー HTTPおよびMQTTを介してクラウドサービスにデータを送信し、送信されたデータを視覚化する必要があります。 私の質問は、どのサービスが自分のユースケースに適しているかです。他に見逃したサービスはありますか?そしてより重要なのは、そのようなサービスを評価するための重要な要素は何ですか?

2
ESP8266は、Alexaの「相対ボリューム」コマンドをどのように「アドバタイズ」できるのですか。
もっと理解したら、この質問を編集します。今のところ、私は何が必要かを推測しています。人々が助けやすくするために、私はあなたにすべての目的を伝えます: ESP8266をプログラミングして、それがテレビであることと、テレビをオン/オフにできることを宣伝しました。ESP8266は、実際にはIR信号を使用して絶対オン/オフコードをテレビに送信します。同じESP8266デバイスにさらに別のオン/オフ機能の2つ目の「アドバタイズメント」を追加したと思います。 ただし、本当に追加したいのは「相対ボリューム」デバイスです。XMLを使用してこれを行う必要があると思います。つまり、Alexaに送信されたXMLを変更して、オン/オフデバイスだけでなく、相対ボリュームデバイスもアドバタイズする必要があると思います。 相対ボリュームデバイスがAlexaにアドバタイズされる例はどこにありますか? 私の目的を明確にするために、例を追加しましょう: 私が言うなら 「アレクサ、テレビをつけて」 テレビがオンになります。しかし、私が言うなら 「アレクサ、テレビの音量を上げて」 Alexaが応答します 「テレビはそれをサポートしていません」 このgithub.comプロジェクトのコードを使用することから始め、テレビへのIR信号の送信を処理するためのコードを追加しました。このプロジェクトは、ESP8266が何を実行できるかをAlexが要求するのに応じて、このXMLを送信するようです。 HTTP.on("/eventservice.xml", HTTP_GET, [](){ Serial.println(" ########## Responding to eventservice.xml ... ########\n"); String eventservice_xml = "<scpd xmlns=\"urn:Belkin:service-1-0\">" "<actionList>" "<action>" "<name>SetBinaryState</name>" "<argumentList>" "<argument>" "<retval/>" "<name>BinaryState</name>" "<relatedStateVariable>BinaryState</relatedStateVariable>" "<direction>in</direction>" "</argument>" "</argumentList>" "</action>" "<action>" "<name>GetBinaryState</name>" "<argumentList>" "<argument>" "<retval/>" "<name>BinaryState</name>" "<relatedStateVariable>BinaryState</relatedStateVariable>" "<direction>out</direction>" "</argument>" "</argumentList>" "</action>" …
7 alexa  esp8266 

3
Sonoff Dual-GPIOの場所
SonOff Dualで使用できるGPIOを探しています(自分のソフトウェアをフラッシュした後)。SonOff Basicには、LED、リレー、および私にとって最も必要なものにアクセスするためのGPIOがあります- ここに示すように、外部入力用のGPIO14 2つのリレーソリューションが必要なため、2つの外部入力が必要です。それらの「無料のGPIO」を見つけるための支援を喜んで受けます
7 esp8266  gpio 

2
ローカルおよび遠隔MQTT通信
私のプロジェクトでは、Raspberry Pi 3と通信し、次に遠方のMQTTブローカーと通信する一連のセンサーをローカルネットワークに配置しています。 センサーノードにESP8266を使用しているので、piのインターネット接続を介してブローカーと直接通信するespノードをMQTTクライアントにすることを考えました。しかし、ローカルノードからのセンサーのデータとそれにリンクされているセンサーからのデータにアクセスするには、piが必要です。 したがって、私はそのようなコミュニケーションを実装するための最良のソリューションを望んでいます。Piにブローカーを追加して、遠くのブローカーにブリッジしたり、Raspberryで実行されているpythonプログラムにMQTTメッセージを発行したりすることを考えました。 Piに別のブローカーを置かないようにする方法はありますか? これを行うためのより良い解決策はありますか? ブローカーは大量のメモリを消費しますか? カメラフレームデータもストリーミングする必要があることを知っています。

6
ESP8266をMQTTブローカーとして使用できますか?
スタートポロジーに基づいたホームオートメーションプロジェクトを作成しています。私が達成しようとしているのは、nodemcu / ESP8266の1つが外部からアクセス可能なサーバーとして機能し、他のnodemcu / ESP8266がリレーまたはセンサーに接続されたクライアントとして機能することです。 サーバーからコマンドを受信すると、それに応じてリレーをトリガーし、ステータスをサーバーに更新する必要があります。さまざまな方法でたくさんのチュートリアルを読みました。MQTTは良さそうですが、Adafruitのようなサードパーティのブローカーを使いたくありません。私のnodemcuまたは私のWebホストでWebサーバーをホストしたい。悲しいのは、Raspberry Piを所有していないことです。 ESP8266デバイスの1つをMQTTブローカーとして使用できますか、それとも適切な代替手段がありますか?

1
WiFiネットワーク内のIoTデバイスにコマンドを発行する方法
WiFiネットワークに接続されているIoTデバイスがあります。現在、IoTデバイスは小さなHTTPサーバーを実行し、HTTPクライアントからインターネット経由でPOSTリクエストを受信するとRF信号を送信します。これを機能させるには、WiFiルーターでポート転送を有効にする必要があり、HTTPクライアントはルーターのIPアドレスに接続する必要があります。これはそれを回避するための悪い方法のようです。 リングドアベル、ウィンクデバイスなど、ポート転送を必要としないデバイスなど、WiFiネットワーク内で動作するデバイスがあることに気づきました。 これらのデバイスは実際にはHTTPクライアントであり、外部サーバーに接続していると思います。次に、サーバーは実際にコマンドをクライアント(IoT)デバイスに送信します。 その場合は、サーバーを作成する方法(Pythonで)、IoTデバイスをサーバーに接続する方法(HTTP接続)、およびサーバーからクライアントにコマンドを送信する方法(できません)に関するガイダンスを教えてくださいこれは間違った方向なので、POSTを使用してください)。
7 wifi  esp8266 

2
ESP 8266を介してWebサイトサーバーにファイルを書き込む/投稿する方法
sm ESP 8266または他のIoTデバイスを使用してWebサイトにファイルを送信する方法があるかどうかを知りたいです。IoT機器をクライアントにしたいと思っています。Webサイト上のPHPまたはスクリプトファイルがサーバーとして機能します。IoTデバイスがファイルをWebサイトにアップロードしているように見えます。

2
Alexaを使用してWeMoデバイスからステータスを取得する
ESP8266を使用して、インターネット上にあるwemosおよびfauxmoESP arduinoコードでWeMoデバイスをエミュレートしています。onコマンドとoffコマンドの基本的な相互作用を理解したところで、デバイスの一部のピンの状態に対するステータス応答を追加したいと思います。「オンにする」と「オフにする」は基本的なAlexaスキルであり、それらが機能するようです。ただし、「ステータス」または「状態」の口頭によるコマンドはありません。 eventserviceたとえば、XMLを処理するコード内の場所を見つけました。XML <binarystate>1</binarystate>をオンにするためですが、ステータスまたはの取得に関するドキュメントが見つかりません<getdevicestate>。使用例:どこかでライトが見えない場合、デバイスにクエリを実行して、オンかオフかを確認します。 デバイスはbelkinのオン/オフスイッチをエミュレートするため、setup.xmlパケットには以下のみが含まれます。 <service> <serviceType>urn:Belkin:service:basicevent:1</serviceType> <serviceId>urn:Belkin:serviceId:basicevent1</serviceId> <controlURL>/upnp/control/basicevent1</controlURL> <eventSubURL>/upnp/event/basicevent1</eventSubURL> <SCPDURL>/eventservice.xml</SCPDURL> </service> また、基本的なイベントだけではステータスやその他の機能を取得できません。 これはすべてAWSスキルを書かずに行われ、ESP8266ウェブサーバーとエコードットとの間のfauxmoESP間のローカルLAN上の直接ダイアログで処理されます。LAN(ワイヤレス)をスニッフィングすることでパケットを確認でき、コントロールメッセージングXMLパケットに関するドキュメントが見つかれば、機能を追加するのは簡単だと思います。 これらのコントロールXMLダイアログテンプレートはどこにあり、できればそれらの使用方法の例はどこにありますか?これはAWSスキルを使用することによってのみ達成できるという感覚を得ていますが、それはそれほど必要ではないようです。誰かがここで私にいくつかのガイダンスを与えることはできますか? また、Alexaがデバイスのステータスを確認するための発話は何ですか?これには組み込みの発話がない可能性があり、AWSスキルを書く必要があります(可能な場合は行いたくありません)。
7 alexa  esp8266  wemo 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.