Le città stanno diventando più intelligenti e un gruppo vocale di noi spera che il primo problema che risolvono sia il traffico. E una delle cause del mal di testa del traffico è il parcheggio. Allora, come lo risolviamo?
Con parchimetri intelligenti!Questo tutorial mostra come creare un prototipo di un'applicazione per parchimetri intelligenti abilitata per IoT utilizzando IBM Bluemix e PubNub. L'app ha tre funzioni principali: Mostrare al conducente una visualizzazione in tempo reale dei parcheggi disponibili e occupati Consentire al conducente di prenotare un parcheggio Monitorare automaticamente la fatturazione in base alle azioni del conducente (come entrare e uscire dal parcheggio) Configurazione del progetto e Repo codice completo Questo progetto è un ottimo esperimento fai-da-te per gli appassionati di IoT.
Quindi, se sei interessato a provarlo, vai su GitHub per il codice sorgente completo del progetto bluemix-parking-meter. Fai riferimento alle istruzioni di compilazione e al file readme per i passaggi dettagliati, dalla configurazione dell'hardware all'hosting e all'esecuzione dell'applicazione . Per ospitare questa applicazione, dovrai creare un account Bluemix e PubNub.
Visita la pagina di registrazione IBM Bluemix e la pagina del componente aggiuntivo PubNub per creare i tuoi rispettivi account. Entrambi i servizi offrono un account di livello gratuito per giocare con le loro offerte. ComponentiCi sono tre componenti dell'applicazione:Parking Management Server (PMS) controlla tutti i parcheggi e gestisce la misurazione e la fatturazione per tutti gli utenti.
La piattaforma hardware IoT collega i parcheggi al PMS e rileva anche la presenza o l'assenza di un veicolo. L'app mobile offre un'interfaccia semplice per aiutare il conducente a trovare uno spazio libero e gestire l'utilizzo del parcheggio e la fatturazione. La piattaforma hardware è alimentata da Arduino Yun e utilizza sensori a ultrasuoni per rilevare la presenza o l'assenza di un veicolo in un parcheggio.
Il PMS è implementato come un server delle applicazioni in esecuzione su Python. Tiene traccia di tutti i dispositivi e gestisce fatturazione e prenotazioni. L'app mobile (nota anche come Auto Park) è un'app Android basata su Cordova e JavaScript.
Il server delle applicazioni PMS è ospitato sulla piattaforma cloud IBM Bluemix e l'intera comunicazione tra PMS all'hardware e PMS all'app mobile è alimentata da PubNubs Realtime Data Stream Network. Hardware Di seguito è riportato l'elenco dei componenti hardware utilizzati per questo progetto: Arduino YunHC -SR04 sensore ad ultrasuoni (3 nn. ) Di seguito è mostrata una configurazione di esempio su una breadboard: Di seguito è riportato il diagramma schematico associato per il circuito hardware: Ci sono tre parti funzionali dell'hardware: Controller principale Arduino Yun abilitato per Wi-Fi funge da controller principale per il controllo di alcuni parcheggi spazi.
Monitora periodicamente e ottiene lo stato di ogni parcheggio all'interno della sua giurisdizione, tramite sensori a ultrasuoni. Si interfaccia anche con PMS tramite PubNub e pubblica il parking statusSensor Controller Si tratta di un componente interno della scheda Arduino Yun, alimentato dal chip ATMega32. Si interfaccia direttamente con i sensori ed esegue un ciclo, ogni pochi secondi, per ottenere lo stato più recente di ciascun sensoreSensore a ultrasuoni Tre sensori HC-SR04 vengono utilizzati per simulare tre parcheggi.
Il codice sorgente per la configurazione dell'hardware è disponibile nella directory yun_pubnub (per il controller master) e nella directory device/hcsr04 (per il controller del sensore) nel repository GitHub.Parking Management Server (IBM Bluemix) Il PMS è scritto in Python e può essere installato come Servizio ospitato IBM Bluemix. IBM Bluemix fornisce la potenza di calcolo per il PMS per monitorare i dispositivi hardware e gestire i parchimetri e la fatturazione per gli utenti.
Inoltre, dovrai associare il servizio aggiuntivo PubNub al tuo account IBM Bluemix affinché il PMS funzioni con PubNub. Fare riferimento ai passaggi in README.md per capire come configurare e ospitare un'applicazione Python in Bluemix con PubNub.
Il codice sorgente per PMS si trova nella directory del parchimetro nel repository GitHub. App mobile L'app mobile è un'app Android standard basata su Cordova. Visualizza una mappa dell'area di parcheggio con parcheggi codificati a colori per aiutare l'utente nella scelta di un posto libero.
Il codice sorgente per l'app mobile si trova nella directory MobileApp nel repository GitHub.PubNubPubNub funge da middleware di comunicazione per l'intero sistema. Fornisce una rete di flussi di dati in tempo reale basata su cloud che supporta più di 70 SDK, in modo tale da consentire a qualsiasi dispositivo di comunicare con qualsiasi altro dispositivo su Internet.
Questa applicazione utilizza tre PubNubs SDK per tutti i componenti per comunicare senza problemi tra loro. Questi sono: Javascript SDK per l'app mobile Python SDK per PMSPOSIX C SDK per Arduino Yun Questa applicazione si basa su diversi canali PubNub per abilitare la comunicazione tra i componenti, come illustrato di seguito: Il canale privato nel diagramma sopra si riferisce a un canale dedicato tra il PMS e un'app mobile. Tutti i messaggi scambiati attraverso i canali PubNub sono in formato JSON.
Per ogni app mobile che richiede la prenotazione del parcheggio, il PMS avvia messaggi attraverso questo canale per quella particolare app mobile. Il significato di tutti i canali sarà chiarito nella sezione successiva. Funzionamento del sistema e scenari Il funzionamento completo di questo sistema può essere suddiviso nei seguenti cinque scenari.
Scenario 1: inizializzazione dell'app Quando l'app mobile viene avviata per la prima volta dopo l'installazione, viene richiesta la targa/numero di targa del veicolo dell'utente. Questo funge da identificatore univoco per il PMS per tracciare l'app ai fini della fatturazione. Successivamente, l'app invia una richiesta al PMS per ottenere lo stato di tutti i parcheggi.
Viene utilizzato per visualizzare la mappa, dove ogni spazio è identificato con un numero di slot (001, 002 e 003). Ecco come avviene lo scambio di messaggi tra il PMS e l'app mobile: La richiesta JSON dall'app contiene un parametro RequestType con il valore 1 per indicare una richiesta di recupero dello stato di massa di tutti i parcheggi. La risposta JSON da PMS contiene il numero dello slot di parcheggio come parametro e il suo stato come 0 o 1 , per indicare che lo spazio è libero o occupato.
Per la visualizzazione della mappa nell'app mobile, i parcheggi attualmente liberi sono indicati in verde, mentre quelli occupati o riservati sono indicati in rosso. Scenario 2: Aggiornamento stato dispositivo Ogniqualvolta il parcheggio rileva la presenza o l'assenza di un veicolo, segnala immediatamente il PMS. Qui, 001 identifica il numero identificativo dello slot del posto auto e il valore 1 indica che il posto auto è occupato.
In alternativa, un valore di 0 indica che lo spazio è libero. Il PMS trasmette queste informazioni anche su un canale PubNub globale parkingapp-resp in modo che tutte le app possano aggiornare la visualizzazione della mappa dei parcheggi. Scenario 3: richiesta di prenotazione & Inizio fatturazioneUn utente che si avvicina a un parcheggio libero può prenotarlo in anticipo toccando un parcheggio libero desiderato sull'app.
Ciò richiede al PMS di avviare una sessione di fatturazione per l'utente. PMS invia un messaggio all'app sul suo canale privato per avviare la fatturazione. Insieme a questo, PMS avvia anche un timer.
Ecco uno sguardo più da vicino al formato dei messaggi JSON in questa interazione: Il parametro RequestType con un valore 2 indica una richiesta di prenotazione
In questo momento, il PMS arresta il timer. Scenario 5: Billing StopLater, quando l'utente estrae il proprio veicolo dal parcheggio, il dispositivo hardware lo rileva nuovamente e invia un aggiornamento di stato a PMS indicando che lo spazio è ora libero. Dopo aver ricevuto questo aggiornamento, PMS calcola la fattura per l'utente e invia un messaggio di interruzione della sessione di fatturazione insieme ai dettagli della fattura all'app mobile tramite il suo canale privato.
Il messaggio JSON ricevuto dall'app mobile contiene i parametri per i dettagli della fattura:
In questo caso all'utente viene addebitata una fattura minima di $ 10. Inoltre, questa applicazione non prevede alcuna disposizione per autenticare l'utente durante il parcheggio (come parte dello scenario 4), in modo da garantire che l'utente che ha prenotato il posto auto sia colui che effettivamente parcheggia il proprio veicolo in tale spazio. Questo è lasciato come esercizio per i lettori che desiderano migliorare ulteriormente questa applicazione e renderla fattibile per una distribuzione più vicina alla vita reale.
Ci siamo divertiti moltissimo a costruire e giocare con questa applicazione, e testare lo scenario end-to-end è stato piuttosto interessante considerando che ci sono diversi sottosistemi coinvolti. Utilizzo di IBM Bluemix & I servizi PubNub semplificano notevolmente le sfide di sviluppo in quanto lo sviluppatore può concentrarsi sulla logica dell'applicazione senza preoccuparsi di come far funzionare la comunicazione tra diversi sottosistemi. Oltre a questo, entrambi i servizi sono in grado di gestire una vasta scala che può essere sfruttata per creare applicazioni simili nel mondo reale che richiedono 247 tempi di attività e migliaia di utenti casuali in entrata.
Originariamente pubblicato su tutte le ultime novità e notizie tecnologiche inviate direttamente alla tua casella di posta?. DOMANDA CORRELATA Non ho ricevuto Google Glass Explorer Edition.
Provare a imparare Glass dev senza l'hardware è uno sforzo inutile? No, puoi ancora imparare i fondamenti dello sviluppo del vetro senza l'hardware. Ci sono tre approcci principali per raggiungere questo obiettivo: 1) Visita la documentazione di Mirror API, entra nel parco giochi e inizia a eseguire l'hashing di un codice.
Scarica la libreria PHP, Java e Python, a seconda di quale ti trovi più a tuo agio. Familiarizzare con il gergo e le convernazioni (timeline, fasci, menu, ecc.). Leggi la documentazione di supporto (secondo link sotto) per vedere come funziona effettivamente l'hardware Glass.
Costruisci alcune app secondo questa specifica. Ben presto, troverai un amico con hardware per t
Tecnologia Co.,Ltd di Shenzhen TigerWong
Tel:86 13717037584
E-mail: info@sztigerwong.com
Aggiungi: 1° piano, edificio A2, parco industriale digitale Silicon Valley Power, n. 22 Dafu Road, Guanlan Street, distretto di Longhua,
Shenzhen, provincia di Guangdong, Cina