Coder Social home page Coder Social logo

jtonynet / autogo Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 9.74 MB

:robot: Estudo por hobby de robótica e IoT básico visando aprender e aprimorar Golang. Com muito a melhorar ainda :construction: Projeto em construção :construction:

Shell 0.30% Go 27.11% C++ 2.16% Dockerfile 0.59% JavaScript 60.82% HTML 9.02%

autogo's Introduction

Raspberry Pi Autonomous Golang 1.16 robot

CineCataloGO, Study RESTful APIs in Golang for cinema catalog management Refactor para Go 1.21 em andamento*


go Javascript NodeJS Ubunto DotEnv GitHub Miro Fritzing VsCode Heroku MQTT RaspberryPi Arduino

Badge Status


🕸️ Minhas Redes:

linkedin dev.to gmail Twitter instagram


Projeto em desenvolvimento com finalidade de estudo de uso de Golang com Robotica Básica e IOT (libs Gobot e Gocv), funcional na plataforma base (Raspberry 3b+/4b Rasbpian recente).

versão atual

arquitetura

Setup:

  1. Em uma plataforma raspberry que siga o esquema autoGo e seus scripts auxiliares, instalar o pi-blaster

  2. Rodar ´sudo raspi-config´ entrar em ´3 Interface Options´ para habilitar a interface de camera ´P1 Camera´ e o barramento ´P5 I2C´

  3. Rodar o comando para alterar pinagem i2c e habilitar todos pins para o gobot: ./autogo.sh

  4. Gerando Binário com raspberry como device alvo: GOARM=6 GOARCH=arm GOOS=linux go build main.go

  5. Rode o Binário. Com um teclado conectado ao raspberry, teclas de seta movimentam o veiculo, teclas "a, w, s, d" movimentam os servos da camera. Stream de video, condução pela web (pagina cliente) e condução autônoma (via sensor de sonar e outros métodos) ainda serão implementados

Esquema autoGo esquema

Setup Client:

  1. Configurar no arquivo .env o MessagerBroker com dados de uma conta MQTT. Broker hive gratuito sugerido

  2. Rodar docker build --tag autogo-client-test . e depois da imagem buildada rodar docker run autogo-client-test

  3. Validar mensagens de acordo com os recursos do autogo configurado na mesma fila com as mesmas envs PROJECT_NAME e ROBOT_NAME. Ter um client configurado no computador de testes é aconselhável, sugestão mqtt-explorer

Site Cliente e MQTT site cliente

app cliente

Referências:

-Próximas etapas:

  • Refatoração na estrutura do código
  • Condução Autônoma (Sonar set)
  • Condução por Fila MQTT (e web Socket)
  • Site Cliente para Condução
  • Dockerizar o site cliente e suas dependencias
  • Código mais aderente a boas práticas GO (interfaces, linter e demais melhorias)
  • SH e makefile para automatizar dependencias em instalação nova
  • SH update de goversion no raspbian
  • Testes e validação para outros SO, Ubunto Mate (raspberry 4b) e Ubunto Nvidia Jetson :)
  • Implantar ROS::: Golang

Componentes:

Criando novas Issues. A ideia é manter atualizado enquanto avanço em Golang e outros tópicos vinculados interessantes.

Existe uma versão do projeto em Python (Autobot), pretendo andar com ela em paralelo pois Python já possui soluções que serão portadas para o AutoGo.

Um estudo divertido. Todos estamos tentando melhorar. ;)

primeiro teste

autogo's People

Contributors

jtonynet avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

autogo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.