Sommario:

Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)

Video: Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)

Video: Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Video: ISTRUZIONE SUL MONITORAGGIO DELLA POSIZIONE DEGLI OGGETTI BASATO SU IoT (INTERNET OF THINGS) - P2M 2024, Settembre
Anonim
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica

Ho realizzato questo localizzatore GPS l'anno scorso e dato che funziona bene lo pubblico ora su Instructable. È collegato alla presa degli accessori nel mio bagagliaio.

Il localizzatore GPS carica la posizione dell'auto, la velocità, la direzione e la temperatura misurata tramite una connessione dati mobile (GPRS) su un canale Thingspeak. Questi dati vengono letti dalla mia domotica Openhab per visualizzare questi dati. Uso Thingspeak per ottenere i miei dati localmente nel mio Openhab Home Automation tramite il broker MQTT di Thingspeak. Forse ci sono altri modi, per favore fatemelo sapere nei commenti

Se telefoni al localizzatore, ti invierà un SMS con la posizione e lo stato, contenente un link di Google Maps alle coordinate.

Questo progetto è stato ispirato da alcuni altri progetti, che menziono qui e oltre.

  • Caricamento su Thingspeak
  • Invia un SMS contenente un link a Google Maps

Di recente ho visto questo Instructable di un localizzatore di auto che utilizza un approccio simile per gli SMS.

Nei passaggi seguenti ti mostrerò il

  1. Principio e codice
  2. Hardware
  3. Assemblea
  4. Integrazione domotica
  5. Ulteriori miglioramenti

Forniture

Ho ricevuto i miei componenti da Aliexpress. Componenti principali

  • Arduino Pro Mini 328P 5v: collegamento di esempio
  • Ricevitore GPS GY-NEO6MV2: collegamento
  • A6 Modulo GSM/GPRS o similare: link
  • Convertitore buck: link

Fase 1: Il Principio e il Codice

Il Principio e il Codice
Il Principio e il Codice
Il Principio e il Codice
Il Principio e il Codice

Nei flussi allegati è mostrato il principio di funzionamento del localizzatore GPS. Il codice è pubblicato sulla mia pagina Github.

Commenterò alcune parti del codice.

Comunicazione seriale

L'Arduino comunica sia con il ricevitore GPS che con il modulo A6 tramite una connessione seriale.

Ho scoperto che la comunicazione seriale tra il modulo A6 e l'Arduino era completamente stabile solo quando usavo la seriale hardware dell'Arduino pro mini. Per la comunicazione tra Arduino e il ricevitore GPS ho utilizzato AltSoftSerial. Si noti che la libreria AltSoftSerial utilizza pin RX e TX predefiniti.

Durante lo sviluppo ho sperimentato un Arduino Mega, che ha 4 connessioni hardware seriali, puoi facilmente usarne una per scopi di debug.

Comandi AT

Vedere questi collegamenti per informazioni sui comandi AT molto importanti: Electrodragon, M2Msupport.net, Andreas Spiess.

Se utilizzi un altro modulo GSM/GPRS, come un SIM800 o SIM900 probabilmente hai bisogno di altri comandi AT per impostare una connessione dati e dati POST su un sito come Thingspeak.

sms

Il modulo GSM legge il numero di telefono del chiamante (AT+CLIP) e invia l'SMS con la posizione (link Google Maps) e lo stato al chiamante.

Temperatura

Se la temperatura nel localizzatore GPS è troppo alta, invierà un SMS di allarme.

Passaggio 2: hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Ho collegato tutti i componenti tramite intestazioni femmina a una scheda perf per un facile debug e riparazione. Guarda le foto e i commenti.

Il convertitore buck riceve 12V dall'auto ed emette 5V volt (tramite l'interruttore on/off) per Arduino Pro Mini, il modulo A6 e il ricevitore GPS (che pensavo fosse tollerante solo a 3,3V, ma 5V funziona bene).

Il modulo A6 necessita di un'alimentazione sufficiente. Durante la trasmissione tramite la rete GSM dà alcuni picchi di potenza, quindi ho aggiunto un condensatore al tantalio da 1000uF.

La temperatura viene misurata tramite un termistore NTC da 10K.

Passaggio 3: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

Dopo che tutto è stato collegato e testato, i componenti sono montati sui connettori femmina e gli interruttori ei LED sono incollati nella custodia.

Passaggio 4: integrazione della domotica

Integrazione domotica
Integrazione domotica
Integrazione domotica
Integrazione domotica
Integrazione domotica
Integrazione domotica

coseparla

Uso un account gratuito su Thingspeak. Sfortunatamente, hanno ridotto la quantità di canali per un account gratuito, ma funziona ancora alla grande e questo progetto richiede solo un canale e diversi campi. Per il caricamento è necessaria la chiave API di scrittura, per la lettura tramite MQTT è necessaria la chiave API di lettura. Vedere questo sito per la documentazione su come utilizzare Thingspeak MQTT.

Ho letto i dati in Node Red. Guarda l'immagine del flusso allegato in cui unisco i valori lat e lon a una stringa. Uso un ritardo per ottenere i valori lat e lon nell'ordine corretto.

Passaggio 5: ulteriori miglioramenti

Ulteriori miglioramenti
Ulteriori miglioramenti

In futuro ho intenzione di:

  • Collega il tracker alla mia batteria, in modo che il modulo sia sempre acceso. Tuttavia, devo garantire che non scarica spesso la batteria.
  • Forse qualche geofencing nella mia automazione domestica, quindi ricevo un avviso se l'auto è fuori dal raggio definito.
  • Controllare se il chiamante è noto, per evitare di inviare messaggi SMS a chiamanti sconosciuti.
  • Se hai una bella idea, per favore fammelo sapere nei commenti

Consigliato: