Tiempo estimado: 15 minutosRequisitos previos: Cuenta de Twilio Cuenta de Cloudinary Cuenta de Thinged.io Cámara ThingRaspberry Pi RPi
Lo guiaremos a través de la creación de su primera parte y cómo pensar en estructurarla, para que pueda crear sus propias extensiones para la plataforma Thinged.io.0: Configure su Raspberry Pi con Thinged.
ioVea su Raspberry Pi para tomar una fotoCargue la foto a CloudinaryEnvíe un MMS usando TwilioEnvuelvaCree las cuentas requeridas y obtenga todas las claves y tokens de APIUna vez que cree sus cuentas de Twilio y Cloudinary, puede obtener sus ID de cuenta y tokens de acceso desde sus respectivos paneles: 2. Configure su Raspberry Pi con los requisitos previos de Python: ahora que ha creado sus cuentas, tenemos que instalar los requisitos en Raspberry Pi para comunicarse con Cloudinary y Twilio. sudo apt-get install python3-pippip3 install --user cloudinarypip3 install --user twilioDone.
2. Configure su cámara Raspberry PiHabilite su módulo de cámara Raspberry Pis a través de raspi-config: sudo raspi-config Seleccione Opciones de interfaz, luego Cámara y habilítelo. Reinicie su Raspberry Pi.
Pruebe su cámara: raspistill -v -o test.jpg3. Pruebe el script en su Raspberry Pi. Hemos creado una esencia de github que puede usar para tomar estas fotos.
Descargue este script en su Raspberry Pi y edite las siguientes variables:cloudinary_cloud_namecloudinary_api_keycloudinary_api_secrettwilio_account_sidtwilio_auth_tokentwilio_from_numberphone_numberEl script en sí es muy simple y consta de un par de funciones pequeñas:take_photo(photo_name) que toma la foto de la raspberry pi usando la biblioteca raspistill instalada en Raspbian de forma predeterminada. upload_photo_to_cloudinary(photo_file_name) que sube una foto con el nombre dado.send_mms(to, message, media_url) que envía una foto usando Twilio.
4. Creando el Thinged. io PartAl igual que el script de python era un envoltorio delgado alrededor de Cloudinary y Twilio, Thinged es un envoltorio delgado alrededor de los comandos de shell.
Una cosa se compone de partes que son solo estados que se pueden obtener y configurar a través de comandos de línea de comandos. El texto devuelto del comando constituye la base de las partes get y los marcadores de posición se utilizan para introducir argumentos en los comandos set. La parte que estamos creando tiene el siguiente aspecto: hay muchas teclas diferentes allí, pero no se preocupe, en realidad es bastante simple.
He desglosado los parámetros a continuación: humanName nombre amigable para humanos que puede usar para identificar la pieza. descripción descripción amigable para humanos para que pueda descubrir cómo funciona y agregar cualquier otro detalle. partId cadena generada aleatoriamente que cosió.
io usa para identificar la parte, y usted la usa en la API para establecer valores en ella. tipo Entrada, salida o entradaLa salida define si la parte se usa para obtener el estado de su objeto, establecer el estado de su objeto o una combinación de los dos (puede configurarlo, pero podría cambiar en otro lugar y debería leerse). Las entradas requieren getCommand, las salidas requieren setCommand.
setCommand El comando que se ejecutará al establecer un valor. Aquí solo apunta a nuestro script de python. Agregar valor a esto se reemplazará en todas partes con el valor de las partes cuando configure los comandos a través de la API.
El script de python tendrá que cargarse en la raspberry pi por otros medios. valueType Puede ser un número, una cadena o un estado. Como se mencionó anteriormente, Thinged es esencialmente un contenedor delgado para los comandos de la línea de comandos, por lo que todo se traduce en cadenas en la línea de comandos.
valueType es importante para cualquier GUI que quiera presentar detalles sobre el estado de una pieza. Aquí, valueType es estado, lo que implica que hay un número discreto de estados, y se pueden enumerar en valores. Esto permite que la GUI presente un buen botón para 2 partes de estado y un menú desplegable para 3 o más partes de estado.
estados Cada estado representa una posibilidad discreta diferente. Como Thinged.io solo activará un conjunto cuando cambie un valor, aquí los estados discretos son duplicados entre sí, pero con valores diferentes.
expresiones regulares Útil para partes de entrada o entrada y salida en las que le gustaría preprocesar la respuesta del comando. Cree esta parte, ya sea a través del portal web o a través de la API. desde allí, puede agregar la parte a su cosa y ¡ya está!
Cierre: si ha creado la parte, ahora debería verse así en la GUI: si ha cargado el script en su pi, y cosas. El servicio io se está ejecutando, todo está hecho. Ahora la recompensa: ¡Presiona el botón!
En este tutorial, hemos trabajado con partes de salida de thinged.io para crear una cámara espía con cuentas de raspberry pi, cloudinary y twilio y 42 líneas de python que lo mantienen todo junto. Estén atentos para más tutoriales sobre cosas.
Io
Shenzhen TigerWong Technology Co.... Ltd
Tel:86 13717037584
Correo electrónico: info@sztigerwong.com
Dirección: 1.er piso, edificio A2, parque industrial digital Silicon Valley Power, no. 22 Dafu Road, calle Guanlan, distrito de Longhua,
Shenzhen, provincia de GuangDong, China