30ãã«ã®ã·ã¹ãã ã«ã€ããŠã®ä»¥åã®çºè¡šä»¥æ¥ãããã¯ããªãé·ãéã§ãã
éå»ã®æã®éã«äœãå€ãã£ãã®ã§ããïŒ
- 倪éœé»æ± ãè¿œå ãããŸãã-åäœæéã¯ã»ãŒç¡å¶éã§ãã
- é話ã«é¢ããéä¿¡æ
å ±ãè¿œå ããŸããã
- ç§ã®èŠéã«å
¥ã£ãŠããããããã¿ã€ãã®éä¿¡ã¢ãžã¥ãŒã«ãšé£æºããæ©èœ-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æ¬ã®ã¯ã€ã€ãŒã§åäœã§ããå¯äžã®ãã®ã§ãã
次ã®æ©åš/ææã®ã»ãããå¿
èŠã«ãªããŸãã
- Arduino Pro Mini 3V
KB 33 / LB 33 / DE A10ããŒãã³ã°ãããã§ã¯-ãªãã¢ã³ã³ããŒã¿ãŒãã€ã¯ããããã«æ³šæãæãå¿
èŠããããŸã-æ£ç¢ºã«3.3Vã§ããå¿
èŠããããŸã
åºå
ã®åè·¯åºæ¿ã¯ã5ãã«ãã®ã¬ã®ã¥ã¬ãŒã¿ãš16 MHzã®æ°Žæ¶ã䜿çšããŠããããšãå€æããŸããã - CH340ãããäžã®USB-Ttl-5ãã«ãã§ãããŸããŸãããããã€ã¯ãã³ã³ãããŒã©ãŒã®ãã¡ãŒã ãŠã§ã¢ã®å®è¡äžã¯ãGSMã¢ãžã¥ãŒã«ãçŒãä»ããªãããã«ArduinoãGSMã¢ãžã¥ãŒã«ããåæããå¿
èŠããããŸãã
PL2303ãããäžã®ããŒãã¯ãWindows 10ã§ã¯æ©èœããŸããã - GSMéä¿¡ã¢ãžã¥ãŒã«Goouu Tech IOT GA-6-BãŸãã¯AI-THINKER A-6 Miniã
- GSMã¢ã³ããGPRSãYG-01ã
圌ããã©ã®ããã«ãã®ãããªå¢å ãéæããã®ã-ãªããªã-å€åããã¯ãããã®å®å
šãªæ¬ åŠã«é¢é£ãã;-)ã - ããªãã®é€èå Žã®å Žæã§è¯ãã«ãã¬ããžãæã£ãŠãããªãã¬ãŒã¿ãŒã®ããã®ã¹ã¿ãŒã¿ãŒããã±ãŒãžã
ã¯ãããŸãããã±ãŒãžãéåžžã®é»è©±ã§ã¢ã¯ãã£ããŒãããå
¥ãå£ã§PINãªã¯ãšã¹ããç¡å¹ã«ããã¢ã«ãŠã³ããè£å
ããå¿
èŠããããŸãã - ã¯ã€ã€ãŒãã¥ãã³20cmãã¶ãŒãã¶ãŒ-4å ïŒArduinoãUSB-TTLã«æ¥ç¶ããããïŒ
- 3å HX711-ã¹ã±ãŒã«çšADC
- æ倧50 kgã®ããŒãã»ã«6å
- 15ã¡ãŒãã«ã®4è¯é»è©±ã±ãŒãã«-ãŠã§ã€ãã¢ãžã¥ãŒã«ãšGSMãARDUINOã«æ¥ç¶ããŸãã
- ãã©ãã¬ãžã¹ã¿ãŒGL5528ïŒããã¯éèŠã§ãããææµæ1MOhmãèå
æµæ10-20kOhmïŒã
- 2çµã®ãã©ã°ãšãœã±ãã6P6C-é»è©±ããœã±ãã-ãããŒã«ãä»ã
- å¹
10mmã®50cmäž¡é¢ããŒã-ãœãŒã©ãŒããã«ãGSMã¢ãžã¥ãŒã«ã®ããŠãžã³ã°ã«åãä»ããããã
- LiIonããããªãŒçšã®TP4056ããŒã¹ã®å
é»åšããŒã
- 18650ããããªãŒãã«ããŒãšãå®éã«ã¯ããããªãŒèªäœã
- å°éã®ã¯ãã¯ã¹ãŸãã¯ãã©ãã£ã³ïŒã¢ããã©ã³ãã¿ãã¬ãããã£ã³ãã«ïŒ-é²æ¹¿çšHX711
- ããŒãã»ã«ã®ããŒã¹çšã®æšç25x50x300mmã
- ã»ã³ãµãŒãããŒã¹ã«åãä»ããããã®4.2x19 mmãã¬ã¹ã¯ãã·ã£ãŒä»ãã®12æ¬ã®ã»ã«ãã¿ããã³ã°ããžã
- 倪éœé»æ± 5-6V 2WïŒæ¬¡ã®ã©ãžãªã¡ã€ãžã«ã¯ãããŸããã§ãã-ã·ã³ã°ã«ã¯ãã2åãš1N4148ãã€ãªãŒã1çµãåããŸããïŒ
å
é»åšã«éé»æµã¯ãããŸãããã䞊åãœãŒã©ãŒã¢ãžã¥ãŒã«ã¯ãã€ãªãŒããä»ããŠé©åã«ãªã³ã«ããå¿
èŠããããŸã - éä¿¡ã¢ãžã¥ãŒã«ãšå€ªéœé»æ± ïŒãµã€ãº60x100mmïŒã®ç®±-é»æ°è£œåãé©åã«é
åžã§ããŸããç§ã®ãã©ã¹ããã¯è£œã®ååºã¯30x60x100ãçæ³çã§ãã
ããã«ãæ²ãã£ãæãEPSN-25ã¯ãã ããŠãããžã³ãPOS-60ã¯ãã ãå¿
èŠã§ãã
æšå·¥çšã«ã¯ãæšæ/éå±çšã®åŒã®ããããã3mmããªã«ã®ããªã«ã§ååã§ãã
ã·ã¹ãã ã®ã¬ã€ã¢ãŠãã¯æ¬¡ã®ãšããã§ãã
ãããã®å Žåã§ããGSMã¢ãžã¥ãŒã«ãArduinoãã1ã¡ãŒãã«ãããè¿ãã«é
眮ããªãã§ãã ãããGSM900æšæºã§ã¯ä¿¡å·åŒ·åºŠãé«ãããããã€ã¯ãã³ã³ãããŒã©ãŒãåèµ·åããå¯èœæ§ããããŸãã
ããŠã倪éœé»æ± ãåããéä¿¡ã¢ãžã¥ãŒã«-ããŒã«ã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸã-ãšåä¿¡ã¯ããè¯ããªããããããããé ããªããŸãã
ã¢ã»ã³ããªãéå§ããŸãããïŒ
ãŸãã2ã€ã®LEDãGSMã¢ãžã¥ãŒã«ïŒãªã¬ã³ãžè²ã®æ¥åã§å²ãŸããå ŽæïŒããã¯ãã ä»ããããŸãã
ãããä»ãã®SIMã«ãŒããããªã³ãåºæ¿ã«æ¿å
¥ããŸããåçã®æãã®è§ã¯ç¢å°ã§ç€ºãããŠããŸãã
ããã«ãããããªãŒãšã³ã³ãããŒã©ãŒãžã®é
ç·ãããã³ã³ãã³ãµãŒã«çŽæ¥ã¯ãã ä»ããããŸãïŒ4ïŒã
å®éã«ã¯ãéä¿¡ã¢ãžã¥ãŒã«èªäœãé»æºã«3.4-4.2Vãå¿
èŠãšãããã®PWRæ¥ç¹ãéå§éå§ã³ã³ããŒã¿ã«æ¥ç¶ãããŠããããããªããŠã ã€ãªã³é»å§ããã®åäœã«ã¯ãåè·¯ã®ãã®éšåããã€ãã¹ããŠé©çšããå¿
èŠããããŸãã
次ã«ã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ããŒãã浞ããŸã-ããã¯æ¹¿æ°/é§ããããããä¿è·ããŸãïŒ
ç§ãã¡ã¯ããããã¹ãŠæšè£œã®ããŒã¹ã«çœ®ããŸãïŒè
æããé²è
å€ã§åŠçããå¿
èŠããããŸãïŒïŒ
æåŸã«ãããžã§ã»ã³ãµãŒãåºå®ããŸãã
次ã«ãããããŒã®ã¹ããŒã ãšåžžèã«åŸã£ãŠãæ®ãã®ãã¹ãŠã®ã³ã³ããŒãã³ããã¯ãã ä»ãããŸãã
ã³ã³ããŒãã³ãã®äœçœ®ã«é¢ããŠã¯ãæ³ååãçºæ®ããããšããå§ãããŸãã1ã€èæ
®ãã¹ãããšã¯ããã€ã¯ãã³ã³ãããŒã©ãŒãšGSMã¢ãžã¥ãŒã«ã®éã®è·é¢ãå°ãªããšã1ã¡ãŒãã«ããããšã§ãïŒ
ç§ã¯æ¬¡ã®ãã¶ã€ã³ãåŸãŸããïŒ
ã¯ããããã«ã®èšçœ®è§åºŠã45床ã«ããŸãã-補é ãç°¡åãªãããããšãã®ç·¯åºŠã§å€ã«æé©ãª40床ã«è¿ãã§ãã
ããã§ãæåŸã®ãã§ãã¯ã®ããã«ãã»ã³ãµãŒãåã®ã»ã¯ã¿ãŒã«é
眮ããŸããäžã«åæ¿ã眮ããã³ã³ãããŒã©ãŒããŒãã«ããŸãïŒäžå¹Žçã®ãã©ããã€ãªãŒãã®ãã£ããã§ã·ã¹ãã ããªã³ã«ããŸãïŒã
åæã«ãarduinoã®LEDãç¹æ»
ãããã¹ãSMSãæ¥ãã¯ãã§ãã
次ã«ããã©ãã»ã«ãããã£ãããåãå€ãã6ãªããã«ã®ãã©ã¹ããã¯ããã«ã«æ°ŽãéããŸãã
ããã«ãåæ¿ã«çœ®ããé»æºãå
¥ããŠããæ°åçµéãããããã£ããããã©ãã¬ãžã¹ã¿ãŒã«æ»ããŸãïŒæ¥æ²¡ãã·ãã¥ã¬ãŒãããŸãïŒã
åæã«ãarduinoã®LEDãç¹ç¯ãããã¹ãŠã®äœçœ®ã§äœéãçŽ4 kgã®SMSãåä¿¡ããå¿
èŠããããŸãã
ããã§ãšãããããŸãïŒ ã·ã¹ãã ãæ£åžžã«çµã¿ç«ãŠãããŸããïŒ
ã·ã¹ãã ãåã³åäœããããšãéã¿ã®æåã®åã«ãŒãã衚瀺ãããŸãã
ã¯ããå®éã®æ¡ä»¶ã§ã¯ããã©ãã¬ãžã¹ã¿ãåçŽã«äžã«åããããšãæãŸããã§ãã
次ã«ã以äžã®äœ¿çšã«é¢ããç°¡åãªããã¥ã¢ã«ãæäŸããŸãã
- ãã€ãã®åŸå£ã®äžã«ã²ãã¿ã²ãŒãžãåãä»ããŸãïŒåé¢ã®äžã«ãåãçŽ30 mmã®æ¢/æ¿ã眮ããŸãïŒ
- 巣箱ããæ°ã¡ãŒãã«é¢ããé«ãã«ãœãŒã©ãŒããã«ãåããéä¿¡ã¢ãžã¥ãŒã«ãèšçœ®ããŸãã
倪éœé»æ± ããã«ã®åã-åãž-ã¯ã³ã³ãã¹ã§ããŸãïŒæ¬åœã®ãã®ããã£ããããŸããïŒã - ãã©ãã¬ãžã¹ã¿ãã·ã§ãŒãã£ã³ã°ããããããªãŒãå
¥ããŸã-LEDãç¹æ»
ããããã¹ããINITIAL BOOT OKããå«ããã¹ãSMSãæ¥ãã¯ãã§ã
æ¯æ©ãæ¥æ²¡åŸãSMSã¯1æ¥ãããã®ééã®å€åãšãšãã«ãæã¡äžãã®ç¬éããå°çããŸãã
GSMã¢ãžã¥ãŒã«ã®SIMã«ãŒãçªå·ã«é»è©±ãããããšãã³ã³ãããŒã©ãŒã¯ãªãããã¯ã«ãªãïŒãå å
¥è
ã¯é»è©±ãåããããšãã§ããŸããããšèãããŸãïŒãSMSã«ã¯ç°åžžãªæž¬å®å€ãä»ããŸãã
ãã®ãããªã¡ãã»ãŒãžã«ã¯ãã匷å¶SMSããšããè¡ãè¿œå ãããŸãã
ã·ã¹ãã ã®å®å
šãªçŸããã«æ®ã£ãŠãããã®ã¯ã»ãšãã©ãããŸããã
- ãã©ãã»ã³ãµãŒã«ããã€ã¹ã®èªåã·ã¹ãã ãè¿œå ããŸãã
- ä»ã®ã¿ã€ãã®éä¿¡ã¢ãžã¥ãŒã«ã確èªããŠãã ããã
- ESP-8266ã®äžã§ãã¹ãŠãè¡ãã«ã¯ããŸãããç¡ç·ã§ããã¡ãŒã ãŠã§ã¢ã®æŽæ°ããµããŒãããŸã-䟿å©ã§ãã
第äºã«ãåçŽãªWebããŒãžã®åœ¢åŒã§çµ±èšæ
å ±ãæäŸã§ããŸãã
ãããŠæåŸã«ãWi-Fiãããã°ãGSM-kiãå®å
šã«æŸæ£ã§ããŸãã
ãããç§ã¯ã¯ã€ã€ãŒãããããåãããšã«ããããããŠããŠãã絶察çãªãçãšããåããã·ã¹ãã ãçŽæããŸããã
äžèšã§èšãã°ãç§ã¯å°ããã°ãããããŠãã¹ãŠãããããšã«ããŸããã
ã©ãã ãæåããã-1ãæã§åºçç©ãèªãã§ãã ããïŒ
Habr-aã®ããŒãžã§äŒããŸããã
é»æ°ã®é€è家ã¢ã³ãã¬ã€
PSãã®ãããã¯ã«é¢ããæ°ããåºçç©ã«ã€ããŠã¯ã beefree.xyzãã芧ãã ããã