Translate

Xideco 0.5.0 Released

Learn How to Easily Create Your Own Network Distributed Applications With

The XideKit API Class



This release includes the XideKit API class that encapsulates ZeroMQ and MessagePack operations. A tutorial for using XideKit is available here. Examples with videos are provided. You can view the example code here and view the API here.

BUG ALERT IN SCRATCH 2.0 EDITOR

Update

Scratch version 445.1 almost fixes the issue. If you create a new project using extension blocks and save the project, you can reopen the new project without issue. However, if you have a project you saved previous to version 443 and load that project, the extension blocks still are shown as undefined. This is being investigated and documented here.

Here is an example of what I mean. The lone Digital Pin block was added and saved with version 445.1.


BUG ALERT IN SCRATCH 2.0 EDITOR

Recent updates to the Scratch editor prevent any project created using extension blocks to be saved and reopened. When reopening the project, all of the extensions blocks turn red and are labeled as undefined.

Let's hope the Scratch folks fix it soon!

s2aio

Version 1.8 Just Released


This release corrects a problem encountered when using the SONAR feature.

Xideco Version 0.4.0 Has Been Released


This is a major update!

  • Xideco Router was simplified to use a single ZeroMQ Forwarder.
  • The port_map.py file was simplified to reflect changes in router.
  • Implemented Universal i2c support.
    • Added i2c support to Arduino and Raspberry Pi Bridges.
    • Added i2c support to BeagleBone Black with new file, xibbi2c.py - requires use of Python 2.
    • Add a library class to support ADXL345 Accelerometer.
      • A sample program is provided to create a ZeroMQ data monitor for the ADXL345 class and is described here.
  • Updated FirmataPlus to be consistent with version 2.5.2 of StandardFirmata and is now included with distribution.
    • If you are using a previous version of FirmataPlus it should be replaced with the new version.
    • See Wiki Page for instructions.
  • All modules were modified to allow setting the associated Xideco Router IP address via command line option.

Update On Universal i2c Support

Today I connected an ADXL345 Accelerometer to a BeagleBone Black and another to a Raspberry Pi.

Using a single application running on my Linux PC, I was able to simultaneously receive data updates from both devices.  The Linux PC sends out one universal Xideco i2c command and both devices respond. One message to control multiple devices!!!

In turn, each board forms a universal reply message and publishes the message.  The Linux application subscribes to these messages and parses them on arrival. Reply messages are consistent no matter what type of board is reporting.

Currently the data reported by each board consists of:

  • Board number ID
  • X, Y and Z Axis Raw data
  • X, Y, and Z Axis data expressed in g's
  • X, Y, and Z Axis data expressed as normalized acceleration values.
  • Pitch and Roll

Some of the features supported by the ADXL345 application:

  • Broadcast i2c requests simultaneously to all ADXL345 devices.
    • Each board replies with its own reply message
  • Send i2c requests addressed to a single board.
    •  Only  devices of interest respond, all others stay quiescent.
  • Data requests can be single shot for polling the i2c device.
  • Data requests can be set to report continuosly
    • Continuous reporting can be paused and restarted at any time.
Lots more to test , but this is a very good beginning.  If all goes well, I hope to publish this code within the next couple of weeks.

If you are using pymata-iot and are now seeing these exceptions:

/usr/bin/python3.5 /home/afy/PycharmProjects/pymata_aio/pymata_aio/pymata_iot.py
Traceback (most recent call last):
  File "/home/afy/PycharmProjects/pymata_aio/pymata_aio/pymata_iot.py", line 27, in
    from autobahn.asyncio.websocket import WebSocketServerProtocol, \
  File "/usr/local/lib/python3.5/dist-packages/autobahn/asyncio/__init__.py", line 38, in
    from autobahn.asyncio.wamp import ApplicationSession
  File "/usr/local/lib/python3.5/dist-packages/autobahn/asyncio/wamp.py", line 32, in
    from autobahn.wamp import protocol
  File "/usr/local/lib/python3.5/dist-packages/autobahn/wamp/protocol.py", line 42, in
    from autobahn.wamp.keyring import EncryptedPayload
  File "/usr/local/lib/python3.5/dist-packages/autobahn/wamp/keyring.py", line 64, in
    from pytrie import StringTrie
ImportError: No module named 'pytrie'

Process finished with exit code 1
You will need to manually install pytrie with:
pip install pytrie.

I submitted an issue with Autobahn and hopefully they will fix the issue and install pytrie automatically from a pip install.