After months of work on the Agayon, I can present some significant improvements ! This article is a little bit longer than the previous ones but it worth the read!
Software updates !
During the past few weeks, the code base of the Agayon has been updated. I forked my own project, r1d2 to update it. The new repository is named r1d3. I hesitated a long time before forking it. As the hardware base of the Agayon completely changed, I preferred to change the code name to maintain coherence between hardware and software.
As I made tests with SLeekXMPP to control the bot, I observed some problems with Gajim. The Ad-Hoc extension allows one to send commands to an XMPP bot. R1D3 displays the following menus and submenus (in french):
When I try to use the "execute" button, SleekXMPP start a new session and Gajim complains that the session identifier has changed. I reported the problem to SleekXMPP and its fork SliXMPP. The XMPP community is great and Maxime Buquet responded quickly. To quote him, there are two problems (see the bug report for the whole explanations):
Slixmpp shouldn't assume execute is the start of a command
I don't see a place in the XEP that says that next or execute can be equivalent to complete. What to do?
The serial interface of the SHT7x is optimized for sensor readout and effective power consumption. The sensor cannot be addressed by I2C protocol, however, the sensor can be connected to an I2C bus without interference with other devices connected to the bus. Microcontroller must switch between protocols.
One ground to rule them all
I have been advised to use an epoxy base coated with a copper layer. The aim is to connect it to the negative pole of the battery. It is really useful because it decrease the wiring. The perfboards are fixed on metallics spacer bars to avoid shortcuts.
I²C is a bus communication that allows multiple device to communicate with each other.
I2C devices are recognized by the Arduino (5V) and the Raspberry PI (3.3V) with the help of a level shifter.
During the past few months, my best friend has been my hot glue gun. I was skeptical at first but really much effective and fun. I used it to insulate some connectors. In Liège, we would say "mettre une noquette de colle" which translates to "put a knob of glue".
Evolution of the frame
A : Battery
B : Level shifter between Arduino (5V) and Raspberry Pi (3.3V)
C : Arduino Mega
D : Power lines and I2C (12V, 5 V, 3.3V, SDA 5V, SCL 5V, SDA 3.3V, SCL 3.3V)
E : Raspberry Pi (in his case)
F : Buttons and their pull down (3.3V or 5V depending on the GPIO)
G : LEDs
New (old) Oscilloscope
One of my colleague has been cleaning his lab, and he asked me if I was interested to have an old 20 MHz oscilloscope. I gladly accepted. It is a 34 years old Circuitmate 9020 (bought in 1985).
I will use it for I2C debugging and visualization.
The hardware is almost done. I am happy to have a nice reliable base. I hope to be able to drive it with my smartphone soon. I will continue the programming to add the mapping functionality and a nice demo mode.
Running a server on the internet is quite an adventure but it's not always easy to keep track of log files, security and potential threads. This article describes some actions carried out on this server to mitigate script kiddies.
Odoo 12.0 is out since october. I am currently investigating the differences with previous versions to update the instance of the association Les Compagnons du CEP. A lot of changes have been made in a few years but the workflow stays about the same. This article describes my workflow, the backup policy, how a module was used and fixed to restore a missing feature. Finally, the changes in my custom product import function are presented.
This year, the holidays and city trip was the occasion to meet Damien Accorsi, founder of Algoo SAS and his team.
This summer, I had the opportunity to meet Damien Accorsi in Moirans near Grenoble. He is the founder of Algoo SAS, a company that provides software development services and Tracim. Tracim is a collaborative software designed to allow people to share and work on various data and document types.
Everything started from a post on LinuxFR. I stayed near Grenoble for a week in the beginning of July and therefore, I asked the community about nice activities to do in the region. Damien answered quite quickly and made some useful suggestions. We never talked before. He also suggested meeting in his startup in Moirans. I happily accepted and we have met in his quarter. We talked about his activities. If you speak French, I suggest his instructive posts in LinuxFR. We talked about our projects, we laugh and had a really good time. His employees are really nice and fun. When I left, I promised myself to make more IRL meetings in the future.
Yet It was not the first time I visited a software developer. Two years ago, I have met Goffi from the Salut-à-Toi (SàT) project in Prague (Czech Republic). We had nice conversations and exchange about XMPP, the link between communication tools and politics, the struggle of developers to take part in open source project during free time, building a community with limited resources, etc. From this exchange started a nice collaboration on his tool. To this day, I write the PKGBUILD (packages) of SàT for Archlinux.
I hope to meet other people during holidays and events like FOSDEM. It is nice to put a face on a nickname. Maybe next time it will be an inventor or an artist.
In the meantime, if you go to Grenoble, according to Damien and myself, you should try:
This article describes the use of XML-RPC API provided by Odoo, a well-known ERP system. Upgrading to version 11.0 is the occasion to update my python scripts to reduce considerably the number of requests. The improvements were done with the help of pandas, the famous data structures and data analysis library.