フィアスコ。 1぀の自家補IoTの物語

ほずんどの蚘事は、「私/私たちがやった/そしお、それがどれだけクヌルなのか」ずいう原則に基づいお曞かれおいたす。 同じ出版物は、倱敗したプロゞェクトに捧げられおいたす。 猫ぞようこそ 



これは私の出版の続きですESP8266の床暖房コントロヌラヌを䟋にしたスマヌトデバむスの開発







遠くから始めたしょう



私は自分のプロゞェクトに埓っお建おられた小さな家に䜏んでいたす。 レむアりト-ナヌログリッド、廊䞋、1階にキッチンリビングルヌム、2階にバスルヌム、子䟛郚屋、寝宀。 非暙準-アヌボリット壁、USP基瀎、TPのみの加熱。 同時に、床は朚補で、2階にはGVLプレヌトのフロヌティングフロアTPがありたす。 1階にはTPパむプのルヌプが3぀あり実際には1぀の郚屋、2階には3぀のルヌプがありたすが、各ルヌプは1぀の郚屋ベッドルヌム、バスルヌム、子䟛郚屋を担圓したす。14kWの壁に取り付けられたガスボむラヌは熱を担圓したす。 ボむラヌは、䞭囜の毎週プログラム可胜なワむダレスサヌモスタットによっお制埡されたす。 曜日ごずに4぀の期間があり、各期間で目的の枩床を蚭定できたす。 バッテリヌの頭脳、リレヌは隠されおいたす。 それは玠晎らしく機胜したす。 しかし、私はしばしば私が持っおいる以䞊のものを必芁ずしたす。 宀枩制埡が欲しかった。 私は提案された解決策を芋お、䜕も奜きではありたせんでした。 そしお、「Arduino」ずいう蚀葉が目を匕きたした。 そしお、職業によっお私はプログラマヌです。 そしお離れお行く...







鉄



私は鉄に匷くありたせん。 開発ボヌドのはんだ付けは、私の胜力の高さです。 しかし、Arduinoは非垞に単玔なものであり、電子機噚の知識があれば、自分に合った枩床コントロヌラヌを家に䜜るこずができたす。







枩床センサヌ



私は内郚のワむダヌが奜きではありたせん。 陀倖できない堎合は、陀倖たたは非衚瀺にしたす。 そしお、少し曲がりくねった方法で、私は宀枩センサヌずしお䞭囜の気象芳枬所の無線センサヌを䜿甚するようになりたした。 センサヌは長時間バッテリヌで動䜜し、433 MHzの呚波数でブロヌドキャストしたす。 ずおも玠敵です。画面の有無にかかわらず、さたざたな色を遞択できたす。 今埌、気象芳枬所の各メヌカヌは、センサヌでデヌタを送信するための独自のプロトコルを発明するず蚀いたす。 実隓䞭に、私は5皮類のセンサヌのプロトコルを分析したした-それらはすべお異なるデヌタ転送フォヌマットを持っおいたす。 4皮類のセンサヌからデヌタを受信するラむブラリを開発したした。 私は5番目のものに連絡したせんでした-そのプロトコルはパケット境界の欠劂のために他のものずは異なりたす。 デヌタ分析の䞻なツヌルは、䞭囜の論理アナラむザヌになりたした。 このようなツヌルがなければ、プロトコル分析は事実䞊䞍可胜です。 かなりの費甚がかかり、䜿いやすいです。すべおのarduino所有者にお届けするこずをお勧めしたす。



私は、サンプリングの原理、呚波数10kHzでラむブラリを実装したした。 このアプロヌチにより、レシヌバヌピンのレベルが倉化したずきに䞭断するアプロヌチず比范しお、空気のノむズを平準化し、プロセッサの負荷を枛らすこずができたした。 デバッグには、論理アナラむザヌが䜿甚されたした。







デバッグ信号


3 ... 6チャネル-デバッグ甚デヌタ



センサヌずその機胜の䟋を瀺したす。





その結果、受信ナニットはArduino Pro Miniに実装され、i2cスレヌブを介したデヌタ転送が行われたした。







Arduino Mega



これは、コントロヌラヌを䜜成した最初のプラットフォヌムです。 私のコントロヌラヌには、UARTを介しお入力されたコマンドによっお制埡されるコマンドむンタヌフェむスがありたした。 その段階で、ESP8266でWEBむンタヌフェむスを䜜成し、UARTでMegaず通信するこずを蚈画したした。 Robotdyn MegaボヌドずESP8266を組み合わせおおり、この開発をこのボヌドで構築するこずを蚈画しおいたした。 ボヌドの特別な利点は、倚数の倖郚ポヌトです。 しかし、ESP8266を知る過皋で、この小さなチップがコントロヌラヌずむンタヌフェヌスの機胜を非垞に組み合わせるこずができるこずに気付きたした。







ESP8266



私はWeMos D1ミニボヌドオプションを䜿甚したした。ポヌト゚クスパンダヌの䜿甚を考慮しお、寞法が小さく十分な数のピンがありたす。 このボヌドには膚倧な数のラむブラリがありたす。 たずえば、me-no-dev / ESPAsyncWebServerは、Web゜ケットをサポヌトする優れたWebサヌバヌラむブラリです。 このボヌドにコントロヌラヌを組み立おたした。 Webむンタヌフェヌスを開発したした。 すべおが矎しく機胜したす。 しかし、私には理解できない理由で、皌働時間は1日以䞊ではありたせん。 私が䜕かを曲がったか、䜿甚されおいるラむブラリの䞀郚が曲がっおいたす。 たた、同時接続は5぀に制限されおいたす。 超過した堎合-既存のりォッチドッグにもかかわらず、再起動たたはフリヌズするこずさえありたす。倖郚りォッチドッグを䜿甚しおハングに苊しみたした。 私のWebむンタヌフェヌスはほが1ダヌスのファむルで構成されおおり、ブラりザヌが5぀の䞊列ストリヌムでペヌゞを読み蟌むこずを考慮するず、再起動を簡単に実珟できたす。 私自身、このボヌドはクラむアントずしおのみ䜿甚できたす。 私は他の解決策を探し始めたした。







むンタヌフェヌスのスクリヌンショット






















ESP32



ESP8266の盞続人のようなものです。 ESP32には、呚波数、メモリ、レッグなどが最も倚くありたすが、問題は-me-no-dev / ESPAsyncWebServerラむブラリがWeb゜ケットの芳点から動䜜しないこずです。 絶察に。 クラッシュ。 マルチスレッドに関連するもの。 Web゜ケットをサポヌトする別のWebサヌバヌラむブラリが芋぀かりたせんでした。







SOC



この段階で、このボヌドをLinuxで䜿甚するこずにしたした。これ以䞊適切なものは思い぀きたせんでした。







ボヌド芁件。 それらの倚くはないようです











オレンゞPi i96



このボヌドはあらゆる点で適切でした-ビデオ出力、WiFi、内蔵フラッシュメモリ、SDカヌドスロットはありたせん。 UbuntuたたはDietPiを内郚メモリに配眮できたす。 しかし、このボヌドの問題はその゜フトりェアにありたす。 アクセスポむントを䜜成するこずはできたせん。 さお、最倧の問題-再起動するず、MACアドレスが倉曎され、これで䜕も行われたせんでした。 炉内。 執筆時点で、w3bsit3-dns.comで、このボヌドのアナログ専甚のスレッド2g IOTで、MACシフトを無効にするこずができるずいうメッセヌゞが衚瀺されたした







オニオンオメガ2+



掗緎されたドキュメント。 すぐに䜿えるファヌムりェアでは、すべおが起動し、画面は必芁ありたせん。UARTは必芁ありたせん。 SSHはデフォルトで有効になっおいたす。 Node.jsが配信されたしたバヌゞョン4.xですが、私には関係ありたせん。 Node.js甚のsqliteおよびi2cラむブラリをタンバリンを䜿甚しお配信したした。

i2c以倖のハヌドりェアむンタヌフェむスはもう必芁ありたせん。 私の開発バリアントず比范しお、枩床センサヌのデヌタレシヌバヌのデヌタを分析するために、ESP8266に別のArduino Pro Miniコントロヌラヌが远加されたした。 受信コントロヌラヌは、i2cスレヌブずしおOmegaに接続されおいたす。 1wireむンタヌフェヌスを備えた有線センサヌは、1wire <-> i2cブリッゞDS2482-100を介しお接続されたす。 このブリッゞにはnode.jsのラむブラリがありたすが、センサヌの怜玢ずいう点では機胜したせんでした。 私は理解しおいたせんでしたが、ESP8266で動䜜するDS2482ラむブラリをjsに移怍したした。



しかし問題は、Omega-2䞊のWiFiが安定しお動䜜せず、ルヌタヌを再起動した埌に再接続しないこずです。 この問題はファヌムりェアバヌゞョン2で解決され、リリヌスステヌタスではありたせんが、機胜したす。 ずっず良くなりたした。 しかし、問題は刀明したした-時々、ボヌドはZyxelルヌタヌから倖れ、ルヌタヌを再起動した埌、たたはルヌタヌを再起動せずに1、2たたは3自䜓で再接続したす。 たたは、ひどく鈍くなり始めたす-この問題は、電源回路を倉曎しボヌドは3.3v以䞊が本圓に奜きです、倖郚アンテナを远加するず消えたした-オメガはそれに぀いお非垞に満足しおいたした。 したがっお、原則ずしお、私はボヌドに満足しおいたす-時々アクセスがないずいう事実はあたり気にしたせん-メむンむンタヌフェむスずしお、私はOmegaアクセスポむントに接続されたドックで叀いスマヌトフォンを䜿甚したした。 たた、リモヌトアクセスが非垞に必芁になりたす。ルヌタヌをリモヌトで再起動できたす。 それは誀解を匕き起こしたす-Omega-2には2぀のRSTピンがありたす-1぀は提出する必芁がありたす+私が理解するように、これはプログラムで凊理されたす。 2番目のファむルず、フィヌドする倖郚りォッチドッグの接続方法-ただわかりたせん。







内郚のむンタヌフェヌス




コントロヌラヌロゞック

コントロヌラヌ゜フトりェアアヌキテクチャに぀いおは既に説明したしたが、倉曎されおいたせん぀たり、Web゜ケットを介しお送信されるテキストコマンドの管理。 Webむンタヌフェヌスは、ESP8266ずずもに倖芳が倉曎されお移行されたした。 コントロヌラコヌドの倚くのプロシヌゞャ/関数は、C ++からJSに単玔に倉換されたした。 もう1぀は、LinuxOpenWRTの存圚により、SQLデヌタベヌス-sqliteを䜿甚する機䌚が䞎えられたこずです。 したがっお、SQLク゚リのすべおのロゞックを敎理したした。 これは実際にsqliteを䜿甚した最初の経隓です。 メモリ内デヌタベヌスを䜿甚できる可胜性が特に気に入った-このデヌタベヌスにすべおの䞀時デヌタず珟圚のデヌタたずえば、センサヌデヌタ、珟圚の必芁な枩床に関するデヌタなどを配眮したした。







゜ヌスコヌド
私は通垞、゜ヌスコヌドではなくアむデアを共有したす。 これは粟神掻動、私のもの、そしお読者を刺激するように思えたす。 ゜ヌスを取埗したい-個人的に曞き蟌みたす。



組立

私はすべおを鉄で集め、箱に䞊べたした。 さらに-リ゜ヌステスト。 1週間の皌働時間の埌、テストに合栌したず刀断したした。 むンストヌルが可胜です。







ç®±




蚭眮



この段階は倧成功でした。 コレクタヌの暪にあるボックスを吊り䞋げ、サヌマルヘッドを取り付けお接続したした。 すべおのデヌタ、蚭定、およびパラメヌタヌをデヌタベヌスに保存するずいうアむデアに非垞に満足しおいたす-その堎で、蚈画倖の方法でリレヌずゟヌンを構成できたした。぀たり、ゟヌンごずに3぀のリレヌがあり、他のすべおのリレヌが移動したす元のアむデアは1぀のゟヌン-1぀のリレヌでした。 このプロゞェクトには、䞀連のサヌビスセンサヌDS18B20の䜿甚が含たれおおり、暖かい床の各ルヌプの戻りにおける流れの熱媒の枩床ず総戻り枩床を制埡したす-これらのセンサヌも正垞に接続および構成されたしたすべおの蚭定-センサヌのわかりやすい名前を瀺したす。







ボむラヌリレヌを接続したした。







打ち䞊げ



コントロヌラヌは蚈画どおりに機胜したした。







テストのために、2階の郚屋の1぀で枩床をわずかに䞊げるこずにしたした。







ボむラヌは過熱し、停止し始めたした。







そしお、サヌビスセンサヌが圹に立ちたした。 この郚屋のルヌプの出口の氎枩は、入口の氎枩よりも十分に䜎いこずが刀明したした 氎が冷めない これは、熱をあきらめないこずを意味したす。 そしお、家党䜓が船倖の枩床で暖かくなっおいたす目暙は2階の枩床を少し䞋げるこずでした。 したがっお、1階はすべおの熱を䟛絊し、2階のTPはほずんど床を加熱したせん。 その結果、このような条件での暖房の郚屋ごずの調敎は䞍可胜です。







おわりに



このように、物理孊ず私の家のデザむンの特城の圱響により、私の開発は終わりたした。 コントロヌラヌ自䜓が完党に機胜するずいう事実にもかかわらず、私は私の家の暖房システムでそれを䜿甚するこずはできたせん。 おそらく、私は圌を栌䞋げさせお、圌が䞭囜のサヌモスタットず同様に家の気候を制埡するようにする-あるセンサヌによるず、これたでのずころ、私はその点を芋おいたせん。







プロゞェクト党䜓が成功しおいないずいう事実に加えお、開発プロセス䞭に、私は以前は実質的に䞍慣れだった倚くのテクノロゞヌに粟通したした。











したがっお、私は他のプロゞェクトで圹立぀かもしれない倱敗したプロゞェクトで倚くの経隓を積んだ。



この堎所たで読んだ人は、䜕が起こったかを芋るこずができたす。

最埌の3぀の蚭定はブロックされたす







PS DIYに最適なボヌド



蚘事を曞く過皋で、Omega-2の別のトラブルが発芋されたした-モゞュヌルがハングし始めたした。 ハヌド、リセットは圹に立たず、電源を切るだけです。 問題は䜕ですか-ただわかりたせん。 たぶん、圌は電力の増加が気に入らないでしょう。今は3.8Vが䟛絊されおいたす。 電源モゞュヌルを亀換しおみたす。 プロゞェクトが機胜を果たさないずいう事実にもかかわらず、今のずころは枩床蚈モヌドのたたにしたす圌らが蚀うように、Arduinoで䜕もしないでください-気象芳枬所を取埗したす。 しかし、いずれにせよ、このトピックは私にずっお興味深いものです。24時間幎䞭無䌑で100のシステム可甚性を達成したいず考えおいたす。 電源を亀換しおも解決しない堎合は、LinkIt Smart 7688システムを詊しおみたすが、Omegaず同じハヌドりェアのようです。 より安定する堎合がありたす。

远加リニアスタビラむザヌ5-> 3.3vをパルスに眮き換えた埌、オニオンオメガ2+はWiFiに問題がなく、1週間安定しお動䜜したした。 それから圌はこの補足を曞きたした。



これに基づいお-私はただ自家補補品甚のボヌドの理想的なバヌゞョンを自分で芋぀けおいたせん:(



おそらく次のプロゞェクトの頭脳ずしお、私はアンドロむドでスマヌトフォンを䜿甚しようずしたす-あなたはWiFi経由でそれにセンサヌを接続する必芁がありたすが、ブランドの携垯電話の安定性に実質的に問題はありたせん。 そしお、node.jsは電話に眮かれおいるようです。



DIY甚のボヌドを遞択するずいうビゞョンを共有しおいただければ幞いです。



All Articles