sábado, 6 de março de 2021

U-BLOX NINA W106 SENDO PROGRAMADO .NET nanoFramework - Hello from nanoFramework!

    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.

O projeto conta com o apoio da Fundação .NET. 

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

Workload .NET
Instalando Visual Studio 2017

Habilite a Extension do .NET nanoFramework e instale

Para o 2017 aparecerá VS2017

Crie um Projeto Blank com .NET nanoFramework (Blank Application nanoFramework)


Abra um repositório GIT para exemplos .NET


https://github.com/nanoframework/Samples.git




Vários exemplos em .NET 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


Encontrando o U-BLOX NINA W106 (Device Explorer)

Fazendo ping se está ativo


Transferindo o programa (Deploy)



Execução


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

U-BLOX NINA W106 SENDO PROGRAMADO COM .NET nanoFramework - Amazon ALEXA - Mandando Temperatura e Umidade

U-BLOX NINA W106 SENDO PROGRAMADO COM .NET nanoFramework - Amazon ALEXA  Mandando Temperatura e Umidade para Assistente Alexa falar Testado ...