35ドルの3぀のじんたしんの重量のSMS監芖

ニュヌビヌ


30ドルのシステムに぀いおの以前の発衚以来、それはかなり長い間です。


過去の月の間に䜕が倉わったのですか


  1. 倪陜電池が远加されたした-動䜜時間はほが無制限です。
  2. 通話に関する送信情報を远加したした。
  3. 私の芖野に入っおきたあらゆるタむプの通信モゞュヌルず連携する機胜-AiThinker、Gouou tech、SIM800 / 900、Neoway M590 *

しかし、最も重芁なこずは、通信モゞュヌルずマむクロコントロヌラヌが物理的に分離されおいるこずです。これにより、HX711ずの動䜜の干枉がなくなりたす。


そしお、このすべおは、システムの議論に参加したハブロフスクの䜏民ず逊蜂家に察する建蚭的な批刀のおかげです。


TTXの残りの郚分は同じたたでした。日没の枬定が実行され、むンゞケヌタが送信された埌、ハむブの最倧重量は200 kgです。


GSMモゞュヌルのスリヌプモヌドず远加の信号線の䞍䜿甚に関する批刀を予想しお、私は次のように蚀いたす


各通信モゞュヌルには独自の特性がありたす。䜎信号レベルでスリヌプ状態になるもの、高レベルでダブルスリヌプするものがありたす。


日曜倧工の特異性は特定の創造的な郚分を意味し、ここでそれを瀺す䟡倀がありたす。


私はたた、睡眠が本圓に必芁ずされない巣箱の他のパラメヌタヌのモニタリングのさらなる発展に目を向けたシステムを䜜りたした。


䞀般的に、タむトルチャヌトでは- 玔粋なアンドロむド センサヌ、モゞュヌルなどのデザむンず数/セットでどこからでも螊るこずができる基本システム


この蚘事ではスケヌルに぀いお説明したすが、私の個人的なビゞョンずシステムの実装に぀いお説明したす。


䞀蚀で蚀えば-ようこそ 行こう


そもそも、このシステムはスリヌプしたせん...曇りの倩候でも、6ボルトの2セル倪陜電池は5ボルト、最倧100ミリアンペアを生成するためです。


たた、システム党䜓の消費は、スタンバむモヌドGSM1800暙準で17mA、GSM900では玄30です。


さらに、すでに述べたように、これは远加の監芖機胜をリアルタむムで実装する目的で行われたしたたずえば、矀れは5分で倖に出るこずができたす-眠る時間がありたせん;-)


絶察的な省゚ネを望んでいるので、それは次の出版物にありたすが、それは完党に異なりたす 物語 システム。


*はい、通信モゞュヌルに関する脚泚に関する限り、私がAiThinkerに熟達したずいうこずではなく、Neowayを自分で組み立おる必芁がありたす。SIM800Lモゞュヌルには、それらず連携するための教育プログラムを含む別の蚘事が必芁です。


䞀蚀で蚀えば、遞択されたGSMは私芋であり、タンバリンずの远加のダンスなしで、電力を含む4本のワむダヌで動䜜できる唯䞀のものです。


次の機噚/材料のセットが必芁になりたす。


  1. Arduino Pro Mini 3V
    KB 33 / LB 33 / DE A10マヌキングチップでは-リニアコンバヌタヌマむクロチップに泚意を払う必芁がありたす-正確に3.3Vである必芁がありたす
    店内の回路基板は、5ボルトのレギュレヌタず16 MHzの氎晶を䜿甚しおいるこずが刀明したした。
  2. CH340チップ䞊のUSB-Ttl-5ボルトでもかたいたせんが、マむクロコントロヌラヌのファヌムりェアの実行䞭は、GSMモゞュヌルを焌き付けないようにArduinoをGSMモゞュヌルから切断する必芁がありたす。
    PL2303チップ䞊のボヌドは、Windows 10では機胜したせん。
  3. GSM通信モゞュヌルGoouu Tech IOT GA-6-BたたはAI-THINKER A-6 Mini。
  4. GSMアンテナGPRS「YG-01」

    圌らがどのようにそのような増加を達成したのか-なぞなぞ-倚分これは、それの完党な欠劂に関連する;-)。
  5. あなたの逊蜂堎の堎所で良いカバレッゞを持っおいるオペレヌタヌのためのスタヌタヌパッケヌゞ。
    はい、たずパッケヌゞを通垞の電話でアクティベヌトし、入り口でPINリク゚ストを無効にし、アカりントを補充する必芁がありたす。
  6. ワむダヌデュポン20cmマザヌマザヌ-4個 ArduinoをUSB-TTLに接続するため
  7. 3個 HX711-スケヌル甚ADC
  8. 最倧50 kgのロヌドセル6個
  9. 15メヌトルの4芯電話ケヌブル-りェむトモゞュヌルずGSMをARDUINOに接続したす。
  10. フォトレゞスタヌGL5528これは重芁であり、暗抵抗1MOhm、耐光抵抗10-20kOhm。
  11. 2組のプラグず゜ケット6P6C-電話、゜ケット-「テヌル」付き
  12. 幅10mmの50cm䞡面テヌプ-゜ヌラヌパネルをGSMモゞュヌルのハりゞングに取り付けるため。
  13. LiIonバッテリヌ甚のTP4056ベヌスの充電噚ボヌド
  14. 18650バッテリヌホルダヌず、実際にはバッテリヌ自䜓。
  15. 少量のワックスたたはパラフィンアロマランプタブレットキャンドル-防湿甚HX711
  16. ロヌドセルのベヌス甚の朚片25x50x300mm。
  17. センサヌをベヌスに取り付けるための4.2x19 mmプレスワッシャヌ付きの12本のセルフタッピングネゞ。
  18. 倪陜電池5-6V 2W次のラゞオメむゞにはありたせんでした-シングルワット2個ず1N4148ダむオヌド1組を取りたした
    パネルの背面図
    充電噚に逆電流はありたせんが、䞊列゜ヌラヌモゞュヌルはダむオヌドを介しお適切にオンにする必芁がありたす
  19. 通信モゞュヌルず倪陜電池サむズ60x100mmの箱-電気補品を適切に配垃できたす。私のプラスチック補の名刺は30x60x100が理想的です。

さらに、曲がった手、EPSN-25はんだごお、ロゞン、POS-60はんだが必芁です。


朚工甚には、朚材/金属甚の匓のこ、ノミ、3mmドリルのドリルで十分です。


システムのレむアりトは次のずおりです。


レむアりト


いずれの堎合でも、GSMモゞュヌルをArduinoから1メヌトルよりも近くに配眮しないでください。GSM900暙準では信号匷床が高いため、マむクロコントロヌラヌが再起動する可胜性がありたす。


さお、倪陜電池を備えた通信モゞュヌル-ポヌルにむンストヌルする必芁がありたす-ず受信はより良くなり、ミツバチから遠くなりたす。


アセンブリを開始したしょう


GSM A6


たず、2぀のLEDがGSMモゞュヌルオレンゞ色の楕円で囲たれた堎所からはんだ付けされたす。


パッド付きのSIMカヌドをプリント基板に挿入したす。写真の斜めの角は矢印で瀺されおいたす。


さらに、バッテリヌずコントロヌラヌぞの配線から、コンデンサヌに盎接はんだ付けされたす4。


実際には、通信モゞュヌル自䜓が電源に3.4-4.2Vを必芁ずし、そのPWR接点が降圧降圧コンバヌタに接続されおいるため、リチりムむオン電圧からの動䜜には、回路のこの郚分をバむパスしお適甚する必芁がありたす。


Arduino Pro Mini 3v


次に、Arduinoボヌド正方圢のチップの右偎にある楕円圢のLEDを䜿甚しお同様の手順を実行したす。


垞に氎平に-ボヌドに沿っお、櫛を4぀の接点1にはんだ付けしたす。


フォトレゞスタの脚を10 mmに短くし、20 cmの導䜓で基板の端子GNDずD2にはんだ付けしたす2。


リニアコンバヌタヌを介しお電力を䟛絊したす。䜎電流でのドロップアりト電圧降䞋は0.1Vです。


しかし、安定化された電圧をHX711モゞュヌルに印加するこずにより、より䜎い電圧でモゞュヌルを改良する必芁がなくなりたす同時に、この操䜜の結果ずしおノむズが増加したす。


ここで、5メヌトルの電話4線ケヌブルを取り、蚘事の冒頭の図に埓っお、マむクロコントロヌラヌず通信モゞュヌルの間にケヌブルをはんだ付けする必芁がありたすワむダヌの色は珟実に察応しおいたす。


バッテリヌホルダヌもはんだ付けしたす。残りは少し埌で行いたす。


そしお、しばらくの間、はんだごおから脱华し、゜フトりェア郚分に移りたす。
Windowsのアクションのシヌケンスに぀いお説明したす。
たず、 Arduino IDEプログラムをダりンロヌドしおむンストヌル/解凍する必芁がありたす-珟圚のバヌゞョンは1.8.9ですが、1.6.4を䜿甚しおいたす


簡単にするために、アヌカむブをフォルダヌC\ arduino- "your_version_number"に解凍したす。内郚には、/ dist、ドラむバヌ、䟋、ハヌドりェア、java、lib、ラむブラリ、リファレンス、ツヌルフォルダヌ、およびarduino実行可胜ファむルなどがありたす。


ここで、 HX711 ADCを操䜜するためのラむブラリ緑色の[クロヌンたたはダりンロヌド]ボタンが必芁です。ZIPをダりンロヌドしおください。


コンテンツフォルダヌHX711-masterは、ディレクトリC\ arduino- "your_version_number" \ librariesに配眮されたす。


そしおもちろん、 USB-TTLのドラむバヌは同じgithubからのものです-解凍されたアヌカむブから、むンストヌラヌのSETUPファむルが起動されたす。


ラむブラリに煩わされるのを嫌がる人のために、 Arduino IDEプログラムのアセンブリをパックしたした。ダりンロヌドしおアンパックするだけです。


プログラムCを開始しお構成したす。\ arduino- "your_version_number" \ arduino


プログラムむンタヌフェヌス


「ツヌル」項目に移動したす-「Arduino ProたたはPro Mini」ボヌド、Atmega 328 3.3V 8 MHzプロセッサを遞択したす。ポヌトはシステムCOM1以倖の番号ですUSB-TTLアダプタヌを接続したCH340ドラむバヌをむンストヌルした埌に衚瀺されたす。


OK、次のスケッチプログラムをコピヌしおArduino IDEに貌り付けたす


char phone_no[]="+123456789012"; // Your phone number that receive SMS with counry code // NeverSleep #include <SoftwareSerial.h> // Sofrware serial library #include "HX711.h" // HX711 lib. https://github.com/bogde/HX711 #include <EEPROM.h> // EEPROM lib. HX711 scale0(10, 14); HX711 scale1(11, 14); HX711 scale2(12, 14); #define SENSORCNT 3 HX711 *scale[SENSORCNT]; SoftwareSerial mySerial(5, 4); // Set I/O-port TXD, RXD of GSM-shield float delta00; // delta weight from start float delta10; float delta20; float delta01; // delta weight from yesterday float delta11; float delta21; float raw00; //raw data from sensors on first start float raw10; float raw20; float raw01; //raw data from sensors on yesterday float raw11; float raw21; float raw02; //actual raw data from sensors float raw12; float raw22; word calibrate0=20880; //calibration factor for each sensor word calibrate1=20880; word calibrate2=20880; word daynum=0; //numbers of day after start int notsunset=0; boolean setZero=false; boolean forceSend=false; char ch = 0; char ch1 = 0; char ch2 = 0; char ch3 = 0; char ch4 = 0; void readVcc() // read battery capacity { ch = mySerial.read(); while (mySerial.available() > 0) { ch = mySerial.read(); } // empty input buffer from modem mySerial.println("AT+CBC?"); //ask gprs for battery status (for sim800 and neoway command must be "AT+CBC" ) delay(200); while (mySerial.available() > 0) { //read input string between coma and CR ch = mySerial.read(); if (ch ==','){ ch1 = mySerial.read(); ch2 = mySerial.read(); ch3 = mySerial.read(); ch4 = mySerial.read(); } } } // ********************************************************************** void SendStat() { detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt digitalWrite(13, HIGH); if (!forceSend){ notsunset=0; for (int i=0; i <= 250; i++){ if ( !digitalRead(2) ){ notsunset++; } //is a really sunset now? you shure? delay(360); } } if ( notsunset==0 || forceSend ) { raw01=raw02; raw11=raw12; raw21=raw22; raw02=scale0.get_units(16); //read data from scales raw12=scale1.get_units(16); raw22=scale2.get_units(16); daynum++; delta00=(raw02-raw00)/calibrate0; // calculate weight changes delta01=(raw02-raw01)/calibrate0; delta10=(raw12-raw10)/calibrate1; delta11=(raw12-raw11)/calibrate1; delta20=(raw22-raw20)/calibrate2; delta21=(raw22-raw21)/calibrate2; readVcc(); delay(200); mySerial.println("AT+CMGF=1"); // Part of SMS sending delay(2000); mySerial.print("AT+CMGS=\""); mySerial.print(phone_no); mySerial.write(0x22); mySerial.write(0x0D); // hex equivalent of Carraige return mySerial.write(0x0A); // hex equivalent of newline delay(2000); mySerial.print("Turn "); mySerial.println(daynum); mySerial.print("Hive1 "); mySerial.print(delta01); mySerial.print(" "); mySerial.println(delta00); mySerial.print("Hive2 "); mySerial.print(delta11); mySerial.print(" "); mySerial.println(delta10); mySerial.print("Hive3 "); mySerial.print(delta21); mySerial.print(" "); mySerial.println(delta20); mySerial.print("Battery capacity is "); mySerial.print(ch1); mySerial.print(ch2); mySerial.print(ch3); mySerial.print(ch4); mySerial.println(" %"); if (forceSend) {mySerial.print("Forced SMS");} mySerial.println (char(26));//the ASCII code of the ctrl+z is 26 delay(3000); } forceSend=false; digitalWrite(13, LOW); attachInterrupt(0, SendStat , RISING); // Interrupt by HIGH level } // ************************************************************************************************* void switchto9600() { mySerial.begin(115200); // Open software serial port delay(16000); // wait for boot mySerial.println("AT"); delay(200); mySerial.println("AT"); delay(200); mySerial.println("AT+IPR=9600"); // Change Serial Speed delay(200); mySerial.begin(9600); mySerial.println("AT&W0"); delay(200); mySerial.println("AT&W"); } void setup() { // Setup part run once, at start pinMode(13, OUTPUT); // Led pin init pinMode(2, INPUT_PULLUP); // Set pullup voltage Serial.begin(9600); // ------------------------------------------------------------------------------- switchto9600(); // switch module port speed // ------------------------------------------------------------------------------- mySerial.begin(9600); delay(200); scale[0] = &scale0; //init scale scale[1] = &scale1; scale[2] = &scale2; scale0.set_scale(); scale1.set_scale(); scale2.set_scale(); delay(200); setZero=digitalRead(2); //if (EEPROM.read(500)==EEPROM.read(501) || setZero) // first boot/reset with hiding photoresistor if (setZero) { raw00=scale0.get_units(16); //read data from scales raw10=scale1.get_units(16); raw20=scale2.get_units(16); EEPROM.put(500, raw00); //write data to eeprom EEPROM.put(504, raw10); EEPROM.put(508, raw20); for (int i = 0; i <= 24; i++) { //blinking LED13 on reset/first boot digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); } } else { EEPROM.get(500, raw00); // read data from eeprom after battery change EEPROM.get(504, raw10); EEPROM.get(508, raw20); digitalWrite(13, HIGH); // turn on LED 13 on 12sec. delay(12000); digitalWrite(13, LOW); } delay(200); // Test SMS at initial boot readVcc(); delay(200); mySerial.println("AT+CMGF=1"); delay(2000); mySerial.print("AT+CMGS=\""); mySerial.print(phone_no); mySerial.write(0x22); mySerial.write(0x0D); // hex equivalent of Carraige return mySerial.write(0x0A); // hex equivalent of newline delay(2000); mySerial.println("INITIAL BOOT OK"); mySerial.print("Battery capacity is "); mySerial.print(ch1); mySerial.print(ch2); mySerial.print(ch3); mySerial.print(ch4); mySerial.println(" %"); mySerial.println (char(26));//the ASCII code of the ctrl+z is 26 delay(3000); raw02=raw00; raw12=raw10; raw22=raw20; attachInterrupt(0, SendStat , RISING); // Interrupt by HIGH level } void loop() { digitalWrite(13, LOW); ch=mySerial.read(); if ( ch=='R' ) { //wait first lerrer from "RING" string forceSend=true; mySerial.println("ATH"); SendStat(); ch=' '; } } 

最初の行の匕甚笊で、char phone_no [] = "+ 123456789012"; -123456789012の代わりに、SMSの送信先の囜番号を電話番号に入れたす。


チェックボタン䞊のスクリヌンショットのナンバヌワンの䞊をクリックしたす-䞋の堎合スクリヌンショットのトリプルの䞋「コンパむルが完了したした」-そしおマむクロコントロヌラヌをフラッシュできたす。


そのため、USB-TTLはARDUINOずコンピュヌタヌに接続され䞊の写真のように、充電されたバッテリヌをホルダヌに入れたす通垞、新しいarduinoで、LEDが1秒に1回点滅し始めたす。


さお、ファヌムりェア-マむクロコントロヌラの赀いシルバヌボタンを抌すようにトレヌニングしおいたす-これは特定の瞬間に厳密に行う必芁がありたす!!!


ありたすか 「アップロヌド」ボタンスクリヌンショットの2぀の䞊をクリックし、むンタヌフェヌスの䞋郚3぀の画面の䞋の行を泚意深く芋おください。


碑文「コンパむル」が「ダりンロヌド」に眮き換えられるずすぐに-赀いボタンを抌しおリセット-すべお問題なければ-USB-TTLアダプタヌが嬉しく点滅し、むンタヌフェヌスの䞋郚にある「ダりンロヌド枈み」ずいう碑文


テストSMSが電話で届くのを埅っおいる間に、プログラムの仕組みを説明したす。


システムの最初の電源投入時に、EEPROMのバむト500ず501をチェックしたす;これらが等しい堎合、キャリブレヌションデヌタは曞き蟌たれおおらず、アルゎリズムはセットアップセクションに進みたす。


オンにするず、フォトレゞスタがシェヌディングされたすペンのキャップ付き-パラメヌタリセットモヌドがアクティブになった堎合も同じこずが起こりたす。


初期レベルのれロを修正し、重量の倉化を枬定するだけなので、ひずみゲヌゞはすでに巣箱の䞋に蚭眮されおいるはずですただ䜕も接続しおいないので、れロになりたす。


arduinoでは、ピン13の内蔵LEDが点滅したす。
リセットが発生しない堎合、LEDは12秒間点灯したす。
その埌、メッセヌゞ「INITIAL BOOT OK」ずバッテリヌ充電の割合を含むテストSMSが送信されたす。


さらに、2番目のピンの光センサヌに割り蟌みがありたすプルアップ機胜によりリフトが有効になりたす。
この堎合、さらに3分間トリップした埌、フォトレゞスタヌの状態がチェックされ、繰り返し/誀怜出が陀倖されたす。
システムがオンになるたびにリセットが行われないようにするには、少なくずも最初のHX711モゞュヌルを接続する必芁がありたすピンDT-D10、SCK-A0


次に、ロヌドセルの読み取り倀が取埗され、前の操䜜Hiveの埌の行の最初の数からの重量倉化が蚈算され、最初の開始からバッテリヌ電圧がチェックされ、この情報がSMSの圢匏で送信されたす。


サンプルシステム


ずころで、SMSを受信したしたか おめでずうございたす 途䞭です バッテリヌはホルダヌから取り倖すこずができたすが、コンピュヌタヌをこれ以䞊必芁ずしたせん。


センサヌの補造に進みたす。たず、センサヌのレむアりトを芋おみたしょう。


センサヌの䜍眮


これがハむブの平面図です。


叀兞的には、4぀のセンサヌが隅に取り付けられおいたす1,2,3,4


異なる方法で枬定したす。 むしろ、3番目でも。 BroodMinderのメンバヌが異なるように


ひよこ


この蚭蚈では、センサヌは䜍眮1ず2に蚭眮され、ポむント3.4はビヌムに基づいおいたす。
その埌、センサヌにかかる重量は半分になりたす。
はい、この方法の粟床は劣りたすが、ミツバチが巣箱の壁に沿ったハニカムからの「舌」ですべおのフレヌムを構築するこずは想像しにくいです。


したがっお、センサヌをすべおポむント5に枛らすこずを提案したす。システムを保護する必芁はありたせん。たた、ラむトハむブを䜿甚する堎合は、1぀のセンサヌを䜿甚する必芁がありたす。


そのため、1぀のハむブに2぀のひずみゲヌゞず1぀のHX711モゞュヌルを蚭眮したす。配線図は次のずおりです。



ADCボヌドからarduinoたで、5メヌトルの4コア電話ケヌブル重量2および3のモゞュヌルの堎合があり、最初のセンサヌは10 cmの「テヌル」に接続されたすが、それ以降はさらに続きたす。


䞀般に、センサヌには8 cmの「テヌル」を残し、ツむストペアをクリヌニングし、䞊の写真のようにすべおのはんだ付けを解陀したす。


建具を開始する前に、適切な容噚にワックス/パラフィンを入れお、氎济で溶かしたす。


次に、ビヌムを取埗し、100 mmの3぀のセグメントに分割したす


次に、幅25 mm、深さ7〜8 mmの瞊溝を、ノコギリずノミを䜿甚しおマヌクし、䜙分な郚分を取り陀きたす。U字型のプロファむルが衚瀺されたす。


基本


実際、1぀のH字型のパヌツ1ず2぀、぀たりすべお10 cmのP-shkiが必芁です。


なぜN-ka-信じないで、Arduinoを隠しおください


敵察的な技術の奇跡


さらに、センサヌ2ず3を接続するための6P6C゜ケットもここに取り付けられたす。


ワックスは枩たりたしたか -私たちはそこにADCボヌドを浞したす-これは湿気/霧からそれらを保護したす


湿気に察するADCの保護


私たちはそれをすべお朚補のベヌスに眮きたす腐敗から防腐剀で凊理する必芁がありたす


組立


最埌に、ネゞでセンサヌを固定したす。


レディセンサヌ


次に、ヘッダヌのスキヌムず垞識に埓っお、残りのすべおのコンポヌネントをはんだ付けしたす。


コンポヌネントの䜍眮に関しおは、想像力を発揮するこずをお勧めしたす。1぀考慮すべきこずは、マむクロコントロヌラヌずGSMモゞュヌルの間の距離が少なくずも1メヌトルあるこずです


私は次のデザむンを埗たした


ファむナル


はい、パネルの蚭眮角床を45床にしたした-補造が簡単なため、キ゚フの緯床で倏に最適な40床に近いです。


これで、最埌のチェックのために、センサヌを円のセクタヌに配眮したす。䞊に合板を眮き、コントロヌラヌをれロにしたす䞇幎筆のフォトダむオヌドのキャップでシステムをオンにしたす。


同時に、arduinoのLEDが点滅し、テストSMSが来るはずです。


次に、フォトセルからキャップを取り倖し、6リットルのプラスチックボトルに氎を集めたす。
ボトルを合板に眮き、電源を入れおから数分経過したら、キャップをフォトレゞスタヌに戻したす日没をシミュレヌトしたす。


同時に、arduinoのLEDが点灯し、すべおの䜍眮で䜓重が玄4 kgのSMSを受信する必芁がありたす。


おめでずうございたす システムが正垞に組み立おられたした


システムを再び動䜜させるず、重みの最初の列にれロが衚瀺されたす。


はい、実際の条件では、フォトレゞスタを垂盎に䞊に向けるこずが望たしいです。


次に、以䞋の䜿甚に関する簡単なマニュアルを提䟛したす。


  1. ハむブの埌壁の䞋にひずみゲヌゞを取り付けたす前面の䞋に、厚さ玄30 mmの梁/板を眮きたす
  2. 巣箱から数メヌトル離れた高さに゜ヌラヌパネルを備えた通信モゞュヌルを蚭眮したす。
    倪陜電池パネルの向き-南ぞ-はコンパスできたす本圓のものをキャッチしたせん。
  3. フォトレゞスタをシェヌディングし、バッテリヌを入れたす-LEDが点滅し、テキスト「INITIAL BOOT OK」を含むテストSMSが来るはずです
    毎晩、日没埌、SMSは1日あたりの重量の倉化ずずもに、打ち䞊げの瞬間から到着したす。
    GSMモゞュヌルのSIMカヌド番号に電話をかけるず、コントロヌラヌはオフフックになり「加入者は電話を受けるこずができたせん」ず聞こえたす、SMSには異垞な枬定倀が付きたす。
    そのようなメッセヌゞには、「匷制SMS」ずいう行が远加されたす。

システムの完党な矎しさに残っおいるものはほずんどありたせん。


  1. フォトセンサヌにデバむスの自動システムを远加したす。
  2. 他のタむプの通信モゞュヌルを確認しおください。
  3. ESP-8266の䞋ですべおを行うには、たず、「無線で」ファヌムりェアの曎新をサポヌトしたす-䟿利です。

第二に、単玔なWebペヌゞの圢匏で統蚈情報を提䟛できたす。
そしお最埌に、Wi-Fiがあれば、GSM-kiを完党に攟棄できたす。


ああ、私はワむダヌをいじくり回すこずにうんざりしおいお、「絶察的な」省゚ネを備えたシステムを玄束したした。


䞀蚀で蚀えば、私は少し「ばか」をしおすべおをするこずにしたした。
どれだけ成功したか-1か月で出版物を読んでください


Habr-aのペヌゞで䌚いたしょう
電気の逊蜂家アンドレむ


PSこのトピックに関する新しい出版物に぀いおは、 beefree.xyzをご芧ください。



Source: https://habr.com/ru/post/J448274/


All Articles