Package: caninos-sdk
Caninos SDKEstamos criando uma SDK para fazer com que o uso da Labrador fiquemuito acessível.
O objetivo é permitir códigos assim:# as linhas abaixo já funcionam:importcaninos_sdkask9labrador=k9.Labrador()labrador.pin15.enable_gpio(k9.Pin.Direction.OUTPUT,alias="led_status")labrador.pin19.enable_gpio(k9.Pin.Direction.INPUT,alias="button1")labrador.i2c.add_device("arduino_i2c",4)labrador.camera.enable()# as próximas ainda não (precisa ser desenvolvido)labrador.pin.enable_gpio(k9.cpu_pin(0x33),k9.INPUT,alias="button1")labrador.pin.enable_gpio(9,k9.SPI,address=0x4,alias="temp_sensor2")labrador.wifi.enable("CITI","1cbe991a14")print(labrador.enabled_features())# usolabrador.led_status.high()# já funcionares=labrador.button1.read()# já funcionares=labrador.arduino_i2c.read(2)# já funcionavalue=labrador.temp_sensor1.read()# ainda nãoip=labrador.wifi.get_ip()# ainda nãook,frame=labrador.camera.read()# já funcionaCaso queira ajudar com a implementação, dê uma olhadinha nosissues.InstalaçãoInstale a Caninos SDK com o seguinte comando:pip3 install caninos-sdk⚠️ Caso apareça o erro "pip not installed", isso quer dizer que sua Labrador ainda não tem o comandopip3. Instale-o com o comando a seguir, e depois tente de novo.sudo apt install python3-dev python3-pip python3-setuptoolsPor fim, configure as permissões do GPIO, I2C e Serial, para que não precise usarsudo:sudochmod+x./setup-periph-permissions.sh
sudo./setup-periph-permissions.shExemploPara testar a SDK vamos piscar um LED -- ohello worlddo hardware :)Abra um terminal, digitepython3, e vá inserindo os comandos abaixo, um de cada vez:# importa a SDK e dá a ela um apelido bonitinhoimportcaninos_sdkask9# instancia o objeto labradorlabrador=k9.Labrador()# habilita o pino 15 como saída, e dá a ele o apelido "led_status"labrador.pin15.enable_gpio(k9.Pin.Direction.OUTPUT,alias="led_status")# liga o "led_status"labrador.led_status.high()# desliga o "led_status"labrador.led_status.low()Outros exemplosConfira a pastaexamplesdo repositório no GitHub.CâmeraPara usar a câmera, é necessário instalar oOpenCV. Instale-o com o comando abaixo:sudoaptinstallpython3-opencvI2CPara usar o I2C, é necessário instalar apylibi2c. Instale-a com os comandos abaixo:gitclonehttps://github.com/amaork/libi2c.gitcdlibi2c&&pip3install.ContributingFirst, see theissuespage.Then, install some dependencies:sudoaptinstallpython3-devpython3-pippython3-setuptoolslibffi-devlibssl-devcurl
pip3install--upgradepipFinally, install the package locally ineditableform:pip3install-e.Publish a new versionInstall build deps:pip3 install build twine.Update the version number at__init__.py.# build the new versionpython3-mbuild# deployVERSION=$(grep-r"__version__"caninos_sdk/__init__.py|sed-E's/.* = "(.*)"/\1/g')twineuploaddist/caninos_sdk-$VERSION-py3-none-any.whl--config-file${HOME}/.pypircTO-DO:initial sketch to prove the conceptmake the gpios actually work (read/write)- [ ] create default constructors/subclasses for specific boards- [ ] create a "VirtualLabrador" class, for tests and remote labsrefactor to a proper python package using modern python conventions[-] write unit tests -> works withpytest -sgpio read/write work across Labradors 32/64support pwmsupport i2csupport serialsupport camerasupport spisupport wifisupport bluetoothOther notes:should this library support other SBCs?should the docs be in English or Portuguese?get funding or community help