Misensores Sensebender gateway: crea tu propia experiencia de hogar conectado a cómo obtener bitcoin rápidamente

En esencia, la pasarela está equipada con una MCU Atmel SAMD21 de alto rendimiento que funciona a 48 MHz y ofrece una gran capacidad para funciones avanzadas de gateway MySensors ecosistema se expande La línea de productos SAMD21 MCU es la oferta de ARM Cortex de Atmel equipada con 32Kb de RAM y 256Kb para flash que proporciona un amplio trabajo y almacenamiento persistente para las tareas actuales y futuras de la puerta de enlace.

los Gateway incluye huellas / almohadillas para dos radios muy comunes compatibles con MySensors; la radio Nordic nRF24L01 + o la radio Hope RF RFM69HW ofrecen a los usuarios diferentes opciones para su construcción de local / hogar y proyectos de IoT. Cada Gateway incluye un chip ATSHA204 CryptoAuthentication que se puede usar para la firma de mensajes basados ​​en hardware para comunicaciones de radio seguras, después de la personalización.

La puerta de enlace también incluye un conector MYSX 2.6 que rompe un montón de pines IO para escudos de bricolaje que se pueden usar para agregar sensores y actuadores a la puerta de enlace o para usar la placa de puerta de enlace como un nodo compacto de alto rendimiento para proyectos de IoT más exigentes y aplicaciones. Además, el Gateway incluye un micro-sd lector de tarjetas para aplicaciones de IoT donde se requiere un almacenamiento no volátil local adicional (por ejemplo, archivos de configuración, almacenamiento de lecturas de sensores de series temporales para análisis fuera de línea, etc.).

La fábrica bosquejo predeterminado es una puerta de enlace en serie que utiliza la radio NRF24L01 y sin firma. Si desea usarlo en esta configuración, solo agrega el encabezado del cuadro del módulo NRF24L01, conecta la radio y conecta la puerta de enlace con un cable USB a su computadora. El boceto predeterminado se puede encontrar en la colección de ejemplos de Mysensors, como "SensebenderGatewaySerial".

Si desea utilizar cualquier otra configuración, como la radio RFM69 (H) W, ethernet o la firma de hardware con ATSHA204, entonces necesita reprogramar la placa con su propio firmware. Esto se hace fácilmente con el paquete de software Arduino (recomendamos usar la última versión del IDE de Arduino), donde puede agregar nuestro definiciones de tablero que coincide con el tablero de entrada. Para detalles sobre cómo agregar estas definiciones de placa, debe ir aquí. Además, debe instalar los archivos de la placa Arduino SAMD que se instalan desde Arduino Boards Manager. Después de instalar las definiciones de la placa, elija Sensebender Gateway como su plataforma de destino, esta será probablemente la última placa en la lista mostrada por Arduino IDE. Además, querrá asegurarse de que está utilizando las bibliotecas de MySensors v2.2.0 o posteriores.

El hardware de Gateway admite una batería de respaldo, que se puede conectar a los 2 terminales junto al lector de tarjetas SD. El voltaje máximo absoluto de la batería es 3.6V, ¡cualquier nivel por encima de este nivel podría dañar su placa! Actualmente no tenemos ningún código fuente de ejemplo para mostrarle, si desea agregar la batería, pero hay un par de pines que se pueden usar para verificar si se conectan la batería y / o el suministro externo, MY_BATT_DETECT y MY_SUPPLY_DETECT, ambos son entradas analógicas, y se pueden usar con la función analogRead () en Arduino como int battVolt = analogRead (MY_BAT_DETECT);

Puede usar el puerto de expansión MysX para agregar nuevas funciones de hardware a su puerta de enlace, como receptores / transmisores para controles remotos de 433Mhz, etc. El conector está documentado en detalle aquí. Hemos facilitado el uso del conector MysX en sus bocetos, al agregar un conjunto de definiciones MYSX, si utiliza nuestras definiciones de placa en arduino: # define MYSX_D1_DFM (00ul) # define MYSX_D2_DTM (01ul) # define MYSX_D3_INT (02ul) # definir MYSX_D4_INT (03ul) # definir MYSX_D5_PWM (04ul) # definir MYSX_D6_PWM (05ul) # definir MYSX_D7_SCL (06ul) # definir MYSX_D8_SDA (07ul) # definir MYSX_D9_A3 (08ul) # definir MYSX_D10_A4 (09ul) # definir MYSX_D11_MOSI (10ul) # definir MYSX_D12_MISO (11ul) # define MYSX_D13_SCK (12ul) # define MYSX_D14_CS (13ul) # define MYSX_A1 (14ul) # define MYSX_A2 (15ul) # define MYSX_SPI SPI2

El boceto predeterminado incluye una opción de autodiagnóstico simple, que prueba los periféricos integrados, para invocar esto, debe corto SWC1 (almohadillas de soldadura en el lado inferior) durante el encendido. Esto ejecutará el autodiagnóstico como modo independiente, parpadeando los LED durante la prueba. Si corta SWC2, la placa esperará a que un programa de terminal en serie abra una conexión al dispositivo USB, y luego imprimirá un auto diagnóstico informa sobre la terminal.

* / # define SKETCH_VERSION "0.2" // Habilita las impresiones de depuración en el monitor serie # defina MY_DEBUG // Habilite y seleccione el tipo de radio adjunto # defina MY_RADIO_RF24 // # defina MY_RADIO_NRF5_ESB // # defina MY_RADIO_RFM69 // # defina MY_RADIO_RFM95 // Establezca BAJO nivel de potencia de transmisión como predeterminado, si tiene un módulo NRF amplificado y // alimenta tu radio por separado con un buen regulador, puedes subir el nivel de PA. # define MY_RF24_PA_LEVEL RF24_PA_HIGH // Habilita la puerta de enlace serial # define MY_GATEWAY_SERIAL // Define una velocidad en baudios más baja para Arduinos que se ejecutan en 8 MHz (Arduino Pro Mini 3.3V & Sensebender) # si F_CPU == 8000000L # define MY_BAUD_RATE 38400 # endif // Habilita el modo de inclusión # define MY_INCLUSION_MODE_FEATURE // Habilita el botón de modo de inclusión en puerta # define MY_INCLUSION_BUTTON_FEATURE // Invierte el comportamiento del botón de inclusión (si usa pullup externo) // # define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP // Establece la duración del modo de inclusión (en segundos) # define MY_INCLUSION_MODE_DURATION 60 // PIN digital utilizado para el botón del modo de inclusión // # define MY_INCLUSION_MODE_BUTTON_PIN 3 // Establecer el período de parpadeo # definir MY_DEFAULT_LED_BLINK_PERIOD 300 // Invertir el comportamiento de los leds // # definir MY_WITH_LEDS_BLINKING_INVERSE // Leds de destello en rx / tx / err // Descomentar para anular las configuraciones predeterminadas de HW // # definir MY_DEFAULT_ERR_LED_PIN 4 // Error led pin // # define MY_DEFAULT_RX_LED_PIN 6 // Recibe el pin de led // # define MY_DEFAULT_TX_LED_PIN 5 // el PCB, a bordo LED # include # include # include

banner