Protocolo BqBus

BqBus é um protocolo de comunicação de código aberto extremamente simples e intuitivo, cujo o objetivo é permitir a transmissão de dados entre dispositivos embarcados e sistemas computacionais de alto nível, priorizando desempenho e facilidade de implementação.

Atualmente está disponível para uso em plataformas compatíveis com Arduino, e aplicações computacionais desenvolvidas com o Visual Studio Community. Porém, a simplicidade da sua implementação, permite que qualquer usuário possa portar o código facilmente para outras aplicações.

Exemplo LedBuiltInControl.ino da biblioteca em execução

Abaixo segue o código de exemplo presente na biblioteca BqBusArduino, cuja execução é demonstrada no vídeo acima. O executável da aplicação já vem incluso na biblioteca para facilitar o teste.

/**
 * @file LedBuiltInControl.ino
 * @author Wesley José Santos (https://binary-quantum.com)
 * @brief Arduino code example to work with LedBuiltInCotrol.exe
 * Repo of visual studio application: https://github.com/WesleyJoseSantos/BqBusNet
 * @version 0.1
 * @date 2020-05-16
 * 
 * @copyright Copyright (c) 2020
 * 
 */
 
#include "BqBus.h"
 
BqBus pcApp(1);      //Instance to share 1 register with pcApp application
 
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);                               //Initialize serial port
  pcApp.setBus(Serial);                             //Set serial port used to communicate with pcApp application
  pinMode(LED_BUILTIN, OUTPUT);                     //Configure board default output to control on-board led
}
 
void loop() {
  // put your main code here, to run repeatedly:
  pcApp.communicationTask();                      //Performs communication betteen arduino and pcApp application
  int cbValue = pcApp.getReg(0);                  //Get value from register address 0 (check box)
  digitalWrite(LED_BUILTIN, cbValue);             //Write check box value on led
}

O código da janela de controle desenvolvida no visual studio segue abaixo

using System;
using System.Windows.Forms;
using System.IO.Ports;
using BqBusNet;
 
namespace Tester
{
    public partial class Form1 : Form
    {
        SerialPort serial = new SerialPort();
        BqBus arduino = new BqBus();
 
        public Form1()
        {
            InitializeComponent();
            serial.PortName = "COM7";
            arduino.Serial = serial;
            arduino.Size = 1;
        }
 
        private void BtConnect_Click(object sender, EventArgs e)
        {
            var bt = (Button)sender;
            if (arduino.IsConnected)
            {
                arduino.Disconnect();
                bt.Text = "Connect";
            }
            else
            {
                arduino.Connect();
                bt.Text = "Disconnect";
            }
        }
 
        private void CbLed_CheckedChanged(object sender, EventArgs e)
        {
            var cb = (CheckBox)sender;
            int value = cb.Checked ? 1 : 0;
            arduino.SetReg(0, value);
        }
    }
}

Para acessar os repositórios completos utilize os links abaixo:

Biblioteca BqBus para o Arduino

Biblioteca BqBus para o Visual Studio

Se inscreva para receber atualizações, novidades, e dicas de programação.

Publicado por WESLEY JOSE SANTOS

Independent developer, with great knowledge about Arduino programming and plataforms of monitoring and process control, also having experience with PLC's, IHM's and SCADA based systems. Desenvolvedor indepentente, possuindo conhecimentos em programação de Arduino e em plataformas de monitoramento e controle de processos, bem como experiência em programação de PLC's, IHM's e sistemas de supervisório (SCADA).

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: