Las descargas de software requeridas son:
1. Phoenix/Live Suite, Live suite es para MAC y LINUX y Phoenix es para Windows
2. Un sistema operativo/firmware para arrancar en CubieBoard, preferiblemente con sabor Ubuntu
El. Cubieez (estoy usando esto para este proyecto) alrededor de 550 MB (X11VNC prediseñado)
B. Cubo
w. Lubuntu y mucho más..
3. Un cliente Putty SSH para SSH en CubieBoard.
4. Utilice un emulador de terminal serie o cualquier otro cliente.
5. Escáner de IP avanzado o Escáner de IP enojado
Necesitamos un sistema operativo basado en Linux y preferiblemente Ubuntu, en el que podamos ejecutar Python y usar conexiones seriales y de socket para constituir un TweeterBie.
Hay dos cosas que podemos hacer ahora mismo: 1. Podemos sustituir NAND Flash por un sistema operativo Linux. 2. Podemos usar una tarjeta MicroSD para escribir el sistema operativo e iniciar CubieBoard en Linux.El procedimiento paso a paso para la tarea anterior está disponible en los sitios web de CUBIEEZ u otros sitios web relacionados con el sistema operativo.
En mi configuración no tenía mouse ni teclado de repuesto, ni conectividad Ethernet, solo un dongle Wi-Fi y un convertidor USB a RX-TX con cables de conexión.
Figura 1: Imagen que muestra el dongle Wi-Fi y el convertidor USB a RX-TX
Para hacer esto, primero instalé el emulador de terminal Termite Serial, conecté mi convertidor TTL a USB a la PC, instalé todos los controladores necesarios y lo mantuve listo para iniciar la comunicación. Luego, en el extremo del convertidor TTL a USB, tomé tres cables, uno de cada pin Rx, Tx y Gnd, y los conecté a los pines correspondientes en la interfaz serial de depuración de hardware provista en la parte superior del CubieBoard. . También tenga en cuenta que conectar 5v dañará el CubieBoard.
Figura 2: Imagen que muestra las conexiones del convertidor USB a RX-TX con Cubieboard A20
Ahora abre Termite en tu PC y elige la configuración. Seleccione el puerto COM apropiado (en mi caso es COM4). Establezca los siguientes parámetros: Velocidad de transmisión: 115200 Bits de datos: 8 Bits de parada: 2 Paridad: Ninguna Texto transmitido: agregue CR + LF como se muestra en la figura anterior. Nota: También puedes usar solo SE o CR , pero esto depende del sistema operativo que estés usando. Presione Enter en su teclado mientras mantiene el cursor en el cuadro de texto en la parte inferior de TERMITE. Ahora la pantalla presenta el shell de inicio de sesión: Escriba "cubie" como nombre de usuario y presione Intro (o haga clic en enviar), cuando se le solicite la contraseña, escriba "cubieboard" y presione Intro (o haga clic en enviar). Esto nos llevará al Cubie Shell para programar y ejecutar todos nuestros programas futuros. Escribe " sudoifconfig " y presiona Enter. Cuando se le solicite la contraseña, de ahora en adelante utilice “ cubículo ”. O ingrese " SU ". Primero, ingrese la contraseña como " cubículo ", esto le brinda acceso de root para que ya no necesite usar sudo. Y puede ejecutar todos los comandos de Shell bajo el usuario root en esta ventana de terminal. Suponiendo que tiene un monitor que admite entrada HDMI o DVI, un mouse USB y un teclado USB, no necesita tener SSH en la placa. Simplemente conéctelos y comience a programar.
Cronograma
arduino
Se supone que el lector ha explicado cómo empezar con Arduino y la interfaz LCD con Arduino .
Es de conocimiento común elegir Arduino para la mayoría de los sistemas integrados debido a su simplicidad de programación y su gran cantidad de funciones para aprovechar al máximo en poco tiempo.
Entonces, conecte la placa Arduino a su computadora de escritorio/portátil (en adelante, PC) e inicie el software Arduino. Ahora abra el programa Ejemplos > Cristal líquido > Hola mundo como se muestra a continuación.Figura 3: Captura de pantalla del IDE de Arduino que muestra la navegación al código de muestra para la pantalla de cristal líquido
Realice todas las conexiones de pines como se describe en los comentarios del programa al principio. Lo he representado en el diagrama de circuito como referencia. Ahora el módulo LCD funciona en modo de 4 bits en lugar de en modo de 8 bits. Teniendo en cuenta que la transferencia de datos lleva el doble de tiempo, es suficiente para TweeterBie. El código Arduino ha sido rediseñado. Cambiar el código adjunto introduce el efecto de desplazamiento en el texto que se mostrará. Nota: El código adjunto se ha adjuntado como archivo INO. Después de descargar el código y ejecutar con “ENGINEERING GARAGE” en el puerto serie
Figura 4: Imagen de Cubieboard A20 y TweeterBie basado en Arduino que muestra los mensajes iniciales
Ahora necesitaremos una forma de comunicarnos con Arduino y enviar datos.
Elegí Python para las secuencias de comandos. Cubieez tiene una versión preinstalada de PYTHON para probar, abre la terminal y escribe lo siguientePhyton
Una vez que la terminal cambia al puerto de Python como >>>
Esto significa que PYTHON está instalado ahora para salir del mensaje de uso.
>>> salir
Existe una herramienta llamada pySerial que se puede utilizar para fines de comunicación en serie. Puede encontrar más documentación aquí.
Ahora, antes de instalar pySerial, necesitamos instalar PIP . Esto facilita la instalación de bibliotecas de Python en los repositorios.
Para instalar PIP, siga las instrucciones
Después de instalar pySerial, puede utilizar el miniterm adjunto.
Para ejecutar el miniterm, escriba el siguiente comando en la terminal. Veamos los puertos disponibles en CubieBoardØpython -m serial.tools.list_ports
esto enumerará los puertos disponibles
Este tutorial introductorio brinda una buena idea sobre cómo usar pySerial.
Mi Arduino está conectado mediante USB.
Figura 5: Prototipo Cubieboard A20 y TweeterBie basado en Arduino
Entonces la salida del comando anterior ahora será:
Figura 6: Captura de pantalla de la aplicación Mini Term que muestra los comandos de Python
Ok, conectemos mini run con el puerto ttyUSB0 y velocidad de baudios 9600. Asegúrese de ejecutarlo como root.
El comando para esto es Phyton -m serial.tools.miniterm
sudopython -m serial.tools.miniterm /dev/ttyUSB0
o
sudopython -m serial.tools.miniterm–p /dev/ttyUSB0 –b 9600
Figura 7: Captura de pantalla de la aplicación Mini Term que muestra la ejecución de comandos de Python
Todo lo que escriba se mostrará en la pantalla LCD. (Es “HOLA”, la O está justo detrás…)
Figura 8: Imagen de Cubieboard A20 y TweeterBie basado en Arduino que muestra un tweet entrante
Ajustes
Bien, ahora que la parte de Pantalla está funcionando, configuremos la parte TWEETER de TweeterBie.
Lo siguiente se puede hacer directamente en CubieBoard, pero yo lo hago en mi PC.
Para acceder a los tweets necesitamos establecer una conexión con los servidores de Twitter, autenticarnos como usuario y también como dispositivo CubieBoard y utilizar llamadas API para obtener los últimos tweets. El tutorial que se menciona a continuación solo cubre esto desde lo básico.
Para crear acceso a TweeterBie, vaya a https://dev.twitter.com/ e inicie sesión con sus credenciales de Twitter.
Como usamos Python para codificar y existe una biblioteca API bien construida para acceder a Twitter en Python, se llama TweePy. Para obtener más información sobre TweePy, utilice esta documentación y este tutorial de autenticación.
Lo primero que necesitamos aquí es instalar TweePy en CubieBoard. Como ya tenemos PIP instalado, es muy sencillo instalar TweePy. Utilice el siguiente comando en la terminal. instalar sudopip tweepy cd tweety Esto cambia el directorio a tweepy. instalación de sudopython setup.py Ahora instalamos tweepy. Creemos el directorio de trabajo “TweeterBie” mkdirTweeterBie Y cambiemos el símbolo del sistema para que apunte dentro del directorio. cd tweeterbie Ahora crearemos un archivo para almacenar nuestro código Python. nano TweeterBie.py En el NANO Editor, inserte el siguiente código al que se hace referencia en este sitio web http://stackoverflow.com/questions/7714282/return-actual-tweets-in-tweepy , weeterBie.py importtweepy# importa la biblioteca TweetePy importserial # importa la biblioteca pySerial importtime # el uso de la instrucción de retardo necesita esta biblioteca ser = serial.Serial('/dev/ttyUSB0', 9600, tiempo de espera = 1) # Claves de consumidor y tokens de acceso, utilizados para OAuth > Dependiente del usuario de Tweeter consumer_key = 'MfRPzXL7gsfxsB1T1Tdab42lY' # CLAVE API consumer_secret = 'O9k5dVSbIxYM4GCQj0IKnRdGkFTKGwaLLEunz2v9jwZriFh2qQ' access_token = '2526693469-raqqlVcj6jMV36AshYVAX48jvt8Q3BvSuEkrjOM' access_token_secret = 'CbvbGGxTl50dTishhxjfDklNATHkKaiaedv5zWpVzH86p' # Las claves de consumidor y los tokens de acceso utilizados para OAuth terminan aquí # Proceso OAuth, usando claves y tokens autenticación = tweepy.OAuthHandler (clave_consumidor, secreto_consumidor) auth.set_access_token(acceso_token, acceso_token_secret) # Creación de la interfaz real, mediante autenticación. api=tweepy.API(autenticación) tiempo.dormir(3); # duerme 3 segundos para iniciar el arduino public_tweets = api.home_timeline # accede a todos los tweets en la línea de tiempo para twittear en public_tweets: printtweet.text # imprime todos los Tweets en la terminal ser.write(tweet.text.encode('utf-8')) # imprime texto en la pantalla LCD tiempo.dormir(8); # Dormir durante 8 segundos entre tweets ser.cerrar # cerrar puerta Ahora guarde y salga .save = ctrl^oe Salir= ctrl^X Si necesita una actualización periódica, utilice el código que se proporciona a continuación. # Editor de archivos: archivo GNU nano 2.2.6: SuperLoop_TweeterBie.py importtweepy# importa la biblioteca TweetePy importserial # importa la biblioteca pySerial importtime # el uso de la instrucción de retardo necesita esta biblioteca ser = serial.Serial('/dev/ttyUSB0', 9600, tiempo de espera = 1) # Claves de consumidor y tokens de acceso, utilizados para OAuth > Dependiente del usuario de Tweeter consumer_key = 'MfRPzXL7gsfxsB1T1Tdab42lY' # CLAVE API consumer_secret = 'O9k5dVSbIxYM4GCQj0IKnRdGkFTKGwaLLEunz2v9jwZriFh2qQ' access_token = '2526693469-raqqlVcj6jMV36AshYVAX48jvt8Q3BvSuEkrjOM' access_token_secret = 'CbvbGGxTl50dTishhxjfDklNATHkKaiaedv5zWpVzH86p' # Las claves de consumidor y los tokens de acceso utilizados para OAuth terminan aquí # Proceso OAuth, usando claves y tokens autenticación = tweepy.OAuthHandler (clave_consumidor, secreto_consumidor) auth.set_access_token(acceso_token, acceso_token_secret) # Creación de la interfaz real, mediante autenticación. api=tweepy.API(autenticación) tiempo.dormir(3); # duerme 3 segundos para iniciar Arduino mientras que Verdadero: public_tweets = api.home_timeline # accede a todos los tweets en la línea de tiempo para twittear en public_tweets: printtweet.text # imprime todos los Tweets en la terminal ser.write(tweet.text.encode('utf-8')) # imprime texto en la pantalla LCD tiempo.dormir(8); # Dormir durante 8 segundos entre tweets hora.dormir(30); # dormir 30 segundos antes de acceder nuevamente a la API ser.cerrar # cerrar puerta ¡¡¡Ahora actualicemos los Tweets de Twitter y asegurémonos de que esté funcionando!!! Advertencia: ¡¡No proporciones tweets de más de 22 caracteres…!! Esto da como resultado que la línea cambie en este punto, como se muestra a continuación. Nuevos tweets: - pero se muestran en orden inverso 1. Bienvenido a Twitter 2. Eres increíble jaja 3. Hola @ ingenierosGarage 4. Este es el cuarto tweet. El resultado de los tweets anteriores de TweeterBie se proporciona a continuación.Código fuente del proyecto
###
#incluir// ya está en el boceto de la pantalla LCD // inicializa la biblioteca con los números de los pines de la interfaz Cristallíquidocd(12, 11, 5, 4, 3, 2); charinData(141); // Asigna algo de espacio para una cadena de máximo 140 caracteres en Tweets charinChar; // Dónde almacenar el carácter leído desde el puerto serie índice de bytes = 0; // Índice en una matriz para señalar la ubicación de la memoria bytebytesrecvd = 0; // contador para comprobar los bytes entrantes configuración nula { Serie.begin(9600); //Puerto serie para enviar los caracteres a mostrar Serial.write("Encendido"); // Enciende la señalización en el puerto de depuración después de establecer la conexión lcd.comenzar(16, 2); // configura el número de columnas y filas de la pantalla LCD lcd.print("¡hola mundo!"); // Imprime un mensaje en la pantalla LCD Muestra de un boceto antiguo retraso(1000); // Desfase de tiempo hasta que se lee el mensaje en la pantalla LCD lcd.setCursor(0, 0); // Establece el cursor LCD en la posición inicial. índice = 0; // Establece la posición de indexación del carácter en nulo (cero) lcd.setCursor(0, 0); // traer de vuelta el cursor a inicio lcd.print("Último tweet: "); // Mostrar el encabezado en la primera línea lcd.setCursor(16, 1); // Vaya a la última columna de la segunda línea y espere a que aparezcan los caracteres. } // Esto finaliza la configuración del Arduino, ahora para crear el Super Loop bucle vacío { índice = 0; // siempre se pone a cero al comienzo de la recepción de datos while(Serial.available > 0) // No ingrese a la sección a menos que haya datos disponibles para leer { if(index < 140) // Uno menos que el tamaño de la matriz obtiene solo 140 caracteres { inChar = Serial.read; // Leer un carácter inData(índice) = inChar; // Almacénalo en la matriz "inData" índice++; // Incrementa dónde escribir el siguiente incremento del índice inData(índice) = ''; // Agrega carácter final (carácter nulo) para la siguiente posición retraso(5); // dar un intervalo de 5 milisegundos para evitar la corrupción de datos bytesrecvd = índice; //obtener el recuento total de bytes recibidos } } // sigue avanzando hasta que los datos estén disponibles lcd.claro; // ahora borra la pantalla LCD de datos anteriores lcd.setCursor(0, 0); // Ir a la posición de inicio lcd.print("Último tweet: "); // escribe el encabezado del último tweet en la primera línea lcd.setCursor(16, 1); // vamos al final de la línea en la segunda fila lcd.desplazamiento automático; // inicia el desplazamiento automático (el problema es que rotará ambas filas) para (intthisChar = 0; thisChar
###
Diagramas de circuito
Diagrama de circuito-Cubieboard-A20-Arduino-Based-TweeterBie | ![]() |
Diagrama de bloques-Cubieboard-A20-basado-Arduino-TweeterBie | ![]() |