Coder Social home page Coder Social logo

degu's Introduction

Degu logo

Degu

Degu is an open-source sensor device platform based on a low-power MCU and the Grove sensors connection interfaces. Degu runs on Zephyr OS and can connect to the Degu gateway by Openthread stacks. Besides, Degu has the MicroPython interpreter that allows you to make your application.

Building

Before building the Degu firmware, install Zephyr SDK and set up the building environment according to the instruction on Zephyr Project Getting Started.

https://docs.zephyrproject.org/latest/getting_started/installation_linux.html

To build the Degu firmware, run the following command:

./build.sh

Then, you will get the image of Degu firmware as degu.bin.

See also

degu's People

Contributors

takumiando avatar yoshidam-at avatar atkeitarotakahashi avatar ohsawa avatar naomitodori avatar r4clet avatar

Stargazers

hama-matcha avatar  avatar kiso.masaki avatar Tatsuhiro Iida avatar osaboh avatar Jun Kawaoka avatar myasu avatar W. Tad Morgan avatar yjono avatar  avatar Kei HINO avatar  avatar

Watchers

James Cloos avatar nakai avatar myasu avatar  avatar Chris McHarg avatar  avatar  avatar  avatar

degu's Issues

sometime degu send coap message with garbage data

Describe the bug
sometime, degu send coap message with gabarge data(before sent data).

To Reproduce

  1. start Degu Gateway.
  2. start Degu (plugged USB power).

Expected behavior
sometime degu send coap message with garbage data.
degu will send only cert data, but send with some source code.

method: PUT
uri: /con/cert/.......
payload: -----BEGIN CERTIFICATE-----
...... omitting ......
-----END CERTIFICATE-----
dig_88_a1 = self.i2c.readfrom(self.address, 26)
self.i2c.writeto(self.address, 0xE1)
..... abbreviation .....

Screenshots
no screenshot.

Version(please complete the following information):

  • DeguFirmware: work7

Additional context
no additional context.

modzcoap: response code handle as a exception

The python urllib handles the HTTP response code as an exception. CoAP protocol is similar to HTTP, so response code may handle as same as urllib is a suitable idea. Also, that is useful to test IP unreachable or the server doesn't work.

Degu retransmits CoAP messages every 3 seconds until receiving a response from DeguGW

Describe the bug
Degu retransmits CoAP messages every 3 seconds until receiving a response from DeguGW.

To Reproduce

  1. start Degu Gateway.
  2. start Degu (plugged USB power).
  3. shutdown Degu Gateway while sending CoAP message from Degu.

Expected behavior
According to the CoAP RFC(RFC7252 4.2,4.8),
When timeout, CoAP message is retransmitted, the retransmission counter is incremented, and the timeout is doubled.

  • ACK_TIMEOUT : 2 seconds(initial value)

  • MAX_RETRANSMIT : 4

If the retransmission counter reaches MAX_RETRANSMIT, Degu runs the next step.

Screenshots
no screenshot.

Version(please complete the following information):

  • DeguFirmware: work7

Additional context
no additional context.

Sometimes Degu fail to update shadow, right after register Degu to AWS IoT Core.

Describe the bug
Sometimes Degu fail to update shadow, right after register Degu to AWS IoT Core.

To Reproduce

  1. Register Degu to AWS IoT Core.
  2. Power on Degu.
  3. Wait few minutes.
  4. Cannot update shadow.

Expected behavior
reboot Degu.

Screenshots
none.

Version(please complete the following information):

  • DeguFirmware: v1.0.0-rc1
  • coap-mqtt-bridge: 2.0.0-1
  • degu-manager: 2.0.0-1

Additional context
none.

Hang up when printing over 128 chars to console, power up without connecting a USB host

Describe the bug
Degu hanup after printing 128 characters to console.

To Reproduce
Steps to reproduce the behavior:

  1. Update main.py like following
while True:
       print("")
  1. Disconnect USB
  2. Connect battery CON12
  3. Degu hanguped

Expected behavior
Run continuously everything without a USB host.

Version(please complete the following information):

  • DeguFirmware: 0.9.1

Consider using west instead of Git submodules

Is your feature request related to a problem? Please describe.
Using Git submodules in combination with Zephyr means that the user needs to learn both west and Git submodules in order to interact with the codebase.

Describe the solution you'd like
Use west to manage all the repositories. You could use the T2 topology just as the nRF Connect SDK does.
That way the code in your degu repository would become a zephyr module by just adding a zephyr/ folder with a module.yml in it, and the user could retrieve the whole degu codebase, including zephyr and micropython, by just doing:
west init -m https://github.com/open-degu/degu/

For now you will need to maintain a copy of zephyr's west.yml, but soon you will be able to import zephyr's manifest from your own.

Describe alternatives you've considered
Keep using Git submodules.

Additional context
See this diagram for more info on how Nordic's nRF Connect SDK uses west.

Display degu firmware version

Is your feature request related to a problem? Please describe.
I cannot show version string.
I can show only firmware binary md5.

Describe the solution you'd like
I want show version string like 1.0.0, on AWS shadow, terminal, etc...

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.