Paso 6: Configuración de la Raspberry Pi 2: codificación de la configuración inicial
Muy bien! Tiempo para realmente conseguir y sucio con algún código. El código para esto es realmente bastante sencillo, y es sólo alrededor de 50 líneas de código. Dicho esto, lo probaré y caminar a través de él despacio para que pueda obtener una mejor comprensión conceptual de cómo funciona. Si lo que desea "Tomar e ir" por así decirlo, todo el archivo se adjunta para aquellos que lo deseen.
Librerías de importación
Tenemos bastantes bibliotecas que tenemos que importar para que todas las partes móviles trabajar. Recuerda que también estamos controlando las clavijas, necesitamos importar así la funcionalidad GPIO. En total, la parte superior de sus declaraciones de importación debería parecerse al siguiente:
El Chiflado 3 que son obviamente las bibliotecas GPIO, roscar y Azure. El centro uno, threading, puede parecer un poco extraño al principio. Básicamente necesitamos para comprobar que estamos activamente "escuchando" la suscripción de servidor. Para hacer esto efectivamente, llevamos a cabo "escuchar" en un subproceso independiente.
Crear Variables constantes
Sí, esto puede parecer un poco trivial, pero también ayudará mucho a comprender la conexión entre azul y Python. El código es bastante sencillo:
# Asegúrese de que establece lo siguiente:
Las variables 'GPIO' y 'namespace' deben ser bastante obvias, pero el medio dos pueden causar cierta confusión. Esencialmente, este es su especial "login clave ' que le otorgará acceso a su Azure Service Bus. Por ahora, no te preocupes (lo descubriremos de donde conseguir esta clave en el paso siguiente!).
Instalar luces en la puesta en
Cuando empezamos nuestro programa, queremos dar nuestras luces (o en nuestro caso, nuestro poco LED) un estado específico. En este caso, establecerá en "OFF"
Hilo de mensajes entrantes de inicio
Aquí es donde empezamos a trabajar la magia. Crearemos un hilo y tiene una nueva función (no hemos creado aún) llamada process_messagesde destino. Vamos a crear esta función en el paso siguiente. Por ahora, vamos a crear y empezar el hilo.
Esperar limpiar
Entonces 'esperaremos' cualquier raw_input de nuestro usuario. Esencialmente, no terminan este programa a menos que alguien golpea una tecla. Por último, liberamos recursos GPIO para garantizar una salida segura para nuestro programa.
Resumen
Así que ¿qué hace este código? Bueno, no mucho. De hecho en no compilación hasta ahora (estamos perdiendo esa función process_messages!). Pero hemos creado la estructura de cómo funciona nuestro dispositivo de IoT. Coloque la luz en 'OFF' y escuchar cualquier comando del servicio de autobús en un subproceso independiente. El siguiente paso nos mostrará cómo hacerlo.