Სარჩევი:

SMS ტექსტი Temp შეტყობინებები ATTINY85 და A1 GSM– დან: 5 ნაბიჯი
SMS ტექსტი Temp შეტყობინებები ATTINY85 და A1 GSM– დან: 5 ნაბიჯი

ვიდეო: SMS ტექსტი Temp შეტყობინებები ATTINY85 და A1 GSM– დან: 5 ნაბიჯი

ვიდეო: SMS ტექსტი Temp შეტყობინებები ATTINY85 და A1 GSM– დან: 5 ნაბიჯი
ვიდეო: How to Send an Anonymous Text to ANY Number! 2024, ივლისი
Anonim
SMS ტექსტური ტემპერატურის შეტყობინებები ATTINY85 და A1 GSM– დან
SMS ტექსტური ტემპერატურის შეტყობინებები ATTINY85 და A1 GSM– დან

ეს ინსტრუქცია გიჩვენებთ თუ როგორ უნდა დააფიქსიროთ ტემპერატურა მარტივი ტემპერატურის სენსორიდან და გაგზავნოთ იგი SMS ტექსტით თქვენს მობილურ ტელეფონში. რამის გასამარტივებლად, მე ვაგზავნი ტემპერატურას მითითებულ ინტერვალში, მაგრამ მე ასევე ვაჩვენებ, თუ როგორ შეიძლება ამის გაკეთება მხოლოდ გამონაკლისის / გაფრთხილების საშუალებით. აპარატურა არის ძალიან დაბალი ღირებულება, 10 დოლარზე ნაკლები, თუმცა გასათვალისწინებელია sms– ის განმეორებითი ხარჯები.

მძიმე აწევას ახორციელებს მარტივი, მაგრამ მძლავრი ATTINY 85, რომელიც აფიქსირებს ტემპერატურის მონაცემებს და შემდეგ იწვევს SMS- ს გაგზავნას AI-Thinker A6 GSM მოდულის საშუალებით.

მოკლედ, თქვენ წერთ ATTINY85 კოდს Arduino IDE გარემოში და წვავთ ATTINY85– ზე USBASP სერიული/USB კონვერტორის გამოყენებით. მე განვიხილე AI-Thinker A6 GSM მოდულის და Arduino IDE– ს დაყენება ორ წინა გაკვეთილზე. რაც აქ განსხვავდება არის სერიული კომუნიკაციების გამოყენებით ATTINY და A6 GSM მოდულის დაკავშირება.

www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…

პროგრამირების შემდეგ, ATTINY კითხულობს ტემპერატურის მონაცემებს თერმომეტრის სენსორიდან - Dallas 18B20- და შემდეგ მონაცემებს და ბრძანებებს აგზავნის სერიული კავშირით A6 GSM მოდულში, რომელიც შემდეგ აგზავნის მას SMS ტექსტის სახით თქვენს მობილურ / სმარტფონში.

აი რა გჭირდებათ:

1. USBASP სერიული/USB კონვერტორი.

2. ატინი 85.

3. AI-Thinker A6 GSM მოდულის ვერსია 6 (სიმ-ით, რომელსაც აქვს SMS კრედიტი).

4. 3.3 ვ პურის დაფის კვების ბლოკი ATTINY85– ისთვის.

5. 3.3.v USB კვების წყარო AI-Thinker A6 GSM მოდულისთვის.

6. Dallas 18B20 ტემპერატურის სენსორი..

7. 4.7k რეზისტორი 18B20 სენსორისთვის.

8. პურის დაფა და კაბელები.

9. Arduino IDE (მე გამოვიყენე ვერსია 1.8.5. ამისათვის).

10. Windows X ლეპტოპი (მე გამოვიყენე ვერსია 10) უფასო USB პორტით.

ნაბიჯი 1: პროგრამირება ATTINY 85

აქ არის Arduino IDE კოდი (თქვენ უნდა შეცვალოთ ტელეფონის ნომერი, რომელზეც გსურთ SMS გაგზავნა.)

#ჩართეთ #ჩართეთ #ჩართეთ

// *** // *** განსაზღვრეთ RX და TX ქინძისთავები. შეარჩიეთ ნებისმიერი ორი // *** პინი, რომლებიც გამოუყენებელია. შეეცადეთ თავიდან აიცილოთ D0 (პინი 5) // *** და D2 (პინ 7) თუ თქვენ აპირებთ I2C– ის გამოყენებას. // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, Pin 3

// *** // *** პროგრამული უზრუნველყოფის სერიული პორტის განსაზღვრა. // *** სახელის სერიალის გამოყენება ისე, რომ კოდი შეიძლება გამოყენებულ იქნას სხვა // *** პლატფორმებზე, რომლებიც მხარს უჭერენ აპარატურულ სერიალს. // *** ჩიპებზე, რომლებიც მხარს უჭერენ ტექნიკის სერიალს, უბრალოდ // *** გააკეთეთ კომენტარი ამ ხაზზე. // ***

SoftwareSerial mySerial = პროგრამული უზრუნველყოფა (RX, TX);

// *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ================== ================================================== ======================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]*[8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) // *** (PCINT4/ XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/DI/SDA/AIN0 /OC0A/OC1A/AREF/PCINT0) // *** // ATTINY 85 სიხშირე დაყენებულია შიდა 8 MHz

// *** // *** ჩამაგრება, რომელზეც არის დაკავშირებული OneWire მონაცემები // *** მავთული. // *** #განსაზღვრეთ ONE_WIRE_BUS 1

// *** // *** დააინსტალირეთ oneWire ინსტანცია ნებისმიერ OneWire // *** მოწყობილობასთან კომუნიკაციისთვის (არა მხოლოდ Maxim/Dallas ტემპერატურის IC). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);

// *** // *** გაიარეთ ჩვენი oneWire მითითება დალასის ტემპერატურაზე. // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);

void setup () {// *** // *** სერიული პორტის ინიციალიზაცია // *** mySerial.begin (115200); დაგვიანება (60000);

// *** ბიბლიოთეკის შექმნა. _sensors.begin (); }

ბათილი მარყუჟი () {

// *** // *** მიიღეთ მიმდინარე ტემპერატურა და აჩვენეთ იგი. // *** _სენსორები. მოითხოვეთ ტემპერატურა (); დაგვიანება (2000); ორმაგი tempC = _sensors.getTempCByIndex (0); ორმაგი tempF = _sensors.getTempFByIndex (0); // შეცდომების შემოწმება - ზოგჯერ დასაწყისში, ტემპერატურა ნაჩვენებია 85C

if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "ძალიან თბილი");}}

ბათილია SMS_temp (ორმაგი mytemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // SMS რეჟიმის დაყოვნება (1000); mySerial.println ("AT+CMGF = 1"); // SMS რეჟიმის დაყოვნება (1000); //mySerial.println("AT+CMGS=\"+ თქვენი ნომერი / ""); // ტელეფონის ნომრის (ორმაგ ბრჭყალებში გახვეული) დაყოვნება (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); დაგვიანება (1000); mySerial.write (0x1A); // აგზავნის ctrl+z შეტყობინების დაყოვნების ბოლოს (1000); mySerial.write (0x0D); // ვაგონის დაბრუნება ექვსკუთხედში (1000); mySerial.write (0x0A); დაგვიანება (1000000); // 17 წუთი - მორგება, რათა მოერგოს საკუთარ აპლიკაციას}

გახსენით Arduino IDE გარემო - მე აღწერილი მაქვს, თუ როგორ უნდა იპოვოთ ეს გზა დეტალურად ჩემს წინა ინსტრუქციებში, რაზეც ადრე ვამბობდი.

თქვენ დაგჭირდებათ შემდეგი ბიბლიოთეკები

SoftwareSerial.h

OneWire.h

DallasTemperature.h

შემდეგი, დააკონფიგურირეთ RX და TX ქინძისთავები ATTINY85– ზე, რომელიც გჭირდებათ A1 Thinker– თან დასაკავშირებლად. ATTINY 85 -ს აქვს 8 ქინძისთავები, ოთხი თითოეულ მხარეს და გასწორებულია წერტილის გამოყენებით ზედაპირზე s მითითებით. Pin 1 ან RESET pin არის thte dot გვერდით.

(ამ შემთხვევაში მე ავირჩიე Pin2 და 3 - ეს არის იმავე მხარეს, როგორც RESET pin, რომელიც წერტილის გვერდით არის ATTINY 85 ზედაპირზე. Pin 2 არის შემდეგი PIN გასწვრივ RESET pin– დან, ხოლო Pin 3 არის Pin– ს შორის 2 და GROUND)

შემდეგი, თქვენ უნდა დააკონფიგურიროთ ტემპერატურის სენსორი -

#განსაზღვრეთ ONE_WIRE_BUS 1

OneWire _oneWire = OneWire (ONE_WIRE_BUS);

DallasTemperature _sensors = DallasTemperature (& _ oneWire);

შემდეგ დააყენეთ პროგრამული უზრუნველყოფის სერიული პორტი

mySerial.begin (115200);

დაგვიანება (60000);

და შემდეგ დარეკეთ სენსორებთან _sensors.begin ();

შემდეგი, არის მარყუჟი, რომელიც იკვლევს წინასწარ განსაზღვრულ დროს, აფიქსირებს ტემპერატურას და აგზავნის შეტყობინებას / გაფრთხილებას ღირებულების მიხედვით. ის იყენებს SMS_temp ფუნქციას, სადაც ასევე არის მარყუჟის დრო

void loop () {sensors.requestTemperatures (); დაგვიანება (2000);

ორმაგი tempC = _sensors.getTempCByIndex (0);

ორმაგი tempF = _sensors.getTempFByIndex (0);

if (tempC <= 14) {SMS_temp (tempC, "საშიშად ცივი");}

if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "საკმაოდ ცივი");}

if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Just right");}

if (tempC> = 23 && error_temperature) {SMS_temp (tempC, "ძალიან თბილი");}

}

==============

შემდეგი, შექმენით Arduino IDE ATTINY85– ზე ატვირთვისთვის მოსამზადებლად.

რიგი საგნების აღსანიშნავია

1- თუ არ გაქვთ დაფების ATTINY ოჯახი, დაამატეთ შემდეგი url https://raw.githubusercontent.com/damellis/attiny/… ფაილში/პარამეტრებში/დამატებითი დაფების მენეჯერის URL- ში, შემდეგი, Arduio IDE– ს შიგნით დააწკაპუნეთ Tools/Board/Board Manager– ზე და მოძებნეთ ATTINY და დააინსტალირეთ ახალი დაფა. შეცვალეთ პროცესორი Attiny85– ით.

ნაბიჯი 2: პროგრამის ატვირთვა ATTINY85– ზე

პროგრამის ატვირთვა ATTINY85– ზე
პროგრამის ატვირთვა ATTINY85– ზე

ასევე, იხილეთ ჩემი წინა ინსტრუქცია ამის შესახებ-https://www.instructables.com/id/15-Dollar-Attiny8…

ATTINY85– ს აქვს ორი რეჟიმი, შესაბამისად, პროგრამირების და ოპერაციების რეჟიმი. პროგრამირების რეჟიმი პირველ რიგში, დაადგინეთ ქინძისთავები ATTINY85– ზე. ამისათვის იპოვნეთ ჩიპის ზედაპირზე პატარა ნაკადი, რომელიც მდებარეობს RST/RESET პინის გვერდით. მისი გამოყენება როგორც საცნობარო წერტილი, შეგიძლიათ ამოიცნოთ დანარჩენი ქინძისთავები. ყველა ეს ინფორმაცია მოცემულია A85– ის მონაცემთა ფურცელში -https://ww1.microchip.com/downloads/en/DeviceDoc/At…

USBasp და ATTINY85 უნდა იყოს დაკავშირებული როგორც ზემოთ გამოსახულებაშია ნაჩვენები.

შემდეგი, Arduino IDE– ზე დააყენეთ პროგრამისტი USBasp– ზე და სიხშირე შიდა 8 Mhz– ზე.

შეაერთეთ USBasp თქვენს ლეპტოპზე USB პორტთან (Windows 10 -ზე, თუ არ გაქვთ USBasp დრაივერი გამოიყენეთ Zadig ვებგვერდის მიხედვით

შემდეგ, USBasp- თან დაკავშირებული, შეარჩიეთ Arduino IDE Sketch/upload და იმედია თქვენ იხილავთ ატვირთვის პროგრესს, რომელიც ნაჩვენებია Arduino IDE– ის წითელი ასოებით და მთავრდება avrdude done. Გმადლობთ.

ამ ეტაპზე ნებისმიერი შეცდომა ჩვეულებრივ დაკავშირებულია გაფუჭებულ კაბელებთან ან არასწორ დრაივერთან.

ნაბიჯი 3: გაუშვით თქვენი პროგრამა

გაუშვით თქვენი პროგრამა
გაუშვით თქვენი პროგრამა
გაუშვით თქვენი პროგრამა
გაუშვით თქვენი პროგრამა
გაუშვით თქვენი პროგრამა
გაუშვით თქვენი პროგრამა

პირველ რიგში, რაღაც დალასის 18b20 თერმომეტრის სენსორის შესახებ. მას აქვს 3 ქინძისთავები, Ground (G), მონაცემები (D) და VCC, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე. ექსპლუატაციისთვის ის მოითხოვს D და VCC- ს გადალახვას 4.7k რეზისტორით. G და VCC დაკავშირებულია შესაბამის პოლუსებთან, ხოლო D უკავშირდება ATTINY 85, pin - [6] PB1, როგორც ეს კონფიგურაციაა კოდში.

შემდეგი, დააკავშირეთ ATTINY A6 GSM– თან შემდეგნაირად (და ნაჩვენებია ზემოთ)

ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd

ATTINY GND A6 GND

და თავად A6– ზე, A6 PWR A6 VCC 5.0A6 RST A6 GND (ჯერ არ დაუკავშირდეთ მიწას !!!!!)

ახლა ჩართეთ ორივე მოწყობილობა და რამდენიმე წამის შემდეგ დროებით შეეხეთ A6 გრუნტის პინს, A6 RST პინთან დაკავშირებულ კაბელთან ერთად. A6 გამორთულია და იმედია, თქვენ მალე უნდა მიიღოთ ტემპერატურის მონაცემები თქვენს ტელეფონში.

ნაბიჯი 4: დასკვნა

ეს შეიძლება საკმაოდ მარტივი ჩანდეს, მაგრამ იდეა არის იმის ილუსტრირება, რისი მიღწევაც შესაძლებელია დაბალი ღირებულების კომპონენტებით. ცხადია, თუ თქვენ გაქვთ წვდომა wi-fi– ზე ან BLE ცენტრში, მაშინ არსებობს უფრო შესაბამისი გადაწყვეტილებები.

მე არ ვფარავდი სხვა ფუნქციებს, როგორიცაა SMS- ის გაგზავნა ტელეფონზე ტემპერატურის ჩაწერის / გადაცემის დასაწყებად და ა.

გირჩევთ: