U-BLOX NINA W106 SENDO PROGRAMADO .NET nanoFramework - Hello from nanoFramework!
Testado no VISUAL STUDIO 2015 e 2019
O objetivo deste BLOG é demonstrar como é possível utilizar o .NET nanoFramework para programar o módulo U-BLOX NINA W106. Foi utilizado o EVK-NINA-W1 para o teste e o exemplo simplesmente enviará pela serial um mensagem Hello from nanoFramework!
UART
UART é uma das interfaces mais antigas e mais comuns. Os dados são enviados em um pino TXD com uma seqüência e uma velocidade pré-definidas. Quando o transmissor envia 0 e 1, o receptor verifica os dados de entrada no pino RXD na mesma velocidade que o transmissor envia. Os dados são enviados um byte de cada vez. Esta é uma direção para os dados. Para mover na direção oposta, um circuito similar existe no dispositivo remoto. Transmissão e recepção são realizadas por dois circuitos totalmente separados e podem operar em conjunto ou separadamente. Cada uma das partes pode enviar ou receber dados a qualquer momento.
A velocidade para enviar / receber dados é chamado de taxa de transmissão. Taxa de transmissão é quantos bytes serão enviados em um segundo. Geralmente, um padrão de velocidade é utilizada, como 9600, 119200, 115200, por exemplo.
Através de UART, dois processadores podem ser interligados, ligando o pino TXD um lado no pino RXD do outro e vice-versa. Como o sinal é digital, a tensão no pino TXD UART / RXD irá para 0V (baixo) a 3.3V ou 5V (superior).
Nos sistemas industriais ou quando cabos longos são utilizados, 3.3V 5V não é suficiente para escapar da margem de ruído. Existem normas para definir a forma de transformar o sinal com uma tensão para mais alta para permitir a comunicação mais confiável. O mais comum é RS232. Praticamente todos os computadores possuem uma porta RS232. Em RS232, os dados são os mesmos que UART mas as tensões são convertidas a partir de níveis TTL (0 a 3.3 V) para níveis RS232 (- 12V a +12 V). Um ponto muito importante é que as tensões são invertidas em relação ao que se poderia pensar. Quando o sinal é logicamente "baixo", corresponde a de tensão é 12 V e quando é "alta", a tensão é -12V. Há muitos pequenos circuitos que convertem os níveis TTL para níveis RS232, como MAX232 ou MAX3232.Quando precisamos de interface de um processador que usa UARTs com um PC usando RS232, então precisamos usar um conversor de sinal.
"Ao contrário do Arduino (por exemplo) você pode fazer debug a sério do código que está executando. Sem necessitar de ligações ou hardware complexo com o JTAG no caso de programação C pura."
.NET nanoFramework é uma plataforma livre e de código aberto que permite a escrita de aplicativos de código gerenciados para dispositivos incorporados restritos. É adequado para muitos tipos de projetos, incluindo sensores de IoT, wearables, prova acadêmica de conceito, robótica, criações de hobistas/fabricantes ou até mesmo equipamentos industriais complexos. Isso torna o desenvolvimento dessas plataformas mais fácil, rápido e menos caro, dando aos desenvolvedores incorporados acesso a tecnologias e ferramentas modernas usadas pelos desenvolvedores de aplicativos desktop.Os desenvolvedores podem aproveitar o poderoso e familiar Microsoft Visual Studio IDE e seu conhecimento .NET C# para escrever rapidamente código sem ter que se preocupar com os meandros de hardware de baixo nível de um microcontrolador. Os desenvolvedores do Desktop .NET se sentirão "em casa" e poderão usar suas habilidades no desenvolvimento de sistemas embarcados, ampliando o pool de desenvolvedores embarcados qualificados.Ele inclui uma versão reduzida do CLR (Common Language Runtime, tempo de execução da linguagem comum .NET) e possui um subconjunto das bibliotecas de classe base .NET, juntamente com as APIs mais comuns incluídas na Universal Windows Platform (UWP) permitindo o reaproveitamento de códigos de aplicativos de desktop, aplicativos IoT Core, milhares de exemplos de código e projetos de código aberto.Usando o Microsoft Visual Studio, um desenvolvedor pode implantar e depurar o código diretamente em hardware real.
Roteiro baseado
Instalando nanoFirmwareFlasher para copiar bootloader
GitHub - nanoframework/nanoFirmwareFlasher: 🛠 nano firmware flasher (nanoFramework toolbox)
É uma ferramenta global .NET Core CLI que permite atualizar um alvo nanoFramework com
nanoBooter, nanoCLR, aplicativo gerenciado ou arquivos de backup. Faz parte da caixa de
ferramentas nanoFramework, juntamente com outras várias ferramentas que são necessárias
no desenvolvimento, uso ou gerenciamento de repositório do nanoFramework. Um vez instalado é
necessário atualizar o UBLOX NINA W106.
Necessita .NET 5.0 Desktop Runtime (v5.0.3) e Download .NET Core 3.1 Runtime
Gravação do Bootloader
Sinal que está Rodando!
Baixe e instale o Visual Studio Community 2017/2019
Habilite o Workload do Desktop com .NET
Crie um Projeto Blank com .NET nanoFramework (Blank Application nanoFramework)
Abrindo o exemplo Blinky
Altere o código para
using System;
using System.Threading;
using System.Diagnostics;
namespace NFApp1
{
public class Program
{
public static void Main()
{
Debug.WriteLine("Hello from nanoFramework!");
Thread.Sleep(Timeout.Infinite);
// Browse our samples repository: https://github.com/nanoframework/samples
// Check our documentation online: https://docs.nanoframework.net/
// Join our lively Discord community: https://discord.gg/gCyBu8T
}
}
}
Atualize versões dos pacotes
Compile o código
Pacotes .NET nanoFramework
LINKS
API docs: https://docs.nanoframework.net/api/Windows.Devices.Adc.html
Browse our samples repository: https://github.com/nanoframework/samples
Check our documentation online: https://docs.nanoframework.net/
Join our lively Discord community: https://discord.gg/gCyBu8T
Report issues: https://github.com/nanoframework/Home/issues
Follow us on Twitter: https://twitter.com/nanoframework
Follow our YouTube channel: https://www.youtube.com/c/nanoFramework
Questões: suporte@smartcore.com.br
Agradecimentos:
JOSÉ SIMÕES
Husband, father, developer, maker, CEO at @Eclo, founder of @nanoframework. MVP. Developer: .NET C# , C/C++, IoT, Azure, Lego
Sobre a SMARTCORE
A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br
Nenhum comentário:
Postar um comentário