Archive

Posts Tagged ‘Linux’

ASUS Tinker Board’s Debian & Kodi Linux Images, Schematics and Documentation

January 24th, 2017 6 comments

We discovered ASUS Tinker Board powered by Rockchip RK3288 processor earlier this year via some slides hidden in a dark corner of the Internet… ASUS has been incredibly quiet about it, but as the board has finally started to sell in Europe on sites like CPC Farnell UK, Proshop (Denmark), or Jimm’s (Finland)  for the equivalent of $57.5 without VAT or $69 including VAT, and more technology sites have started to write about it.

Click to Enlarge

So people have been buying the board, and one even uploaded an unboxing video. One interesting part is the the top comment from the uploader in that video:

Currently, a £55 paperweight as I can’t seem to find a link to the OS image anywhere.

And indeed, ASUS appears to have launched a board without any support website, firmware image and documentation. Maybe that’s why they are quiet about it. But after using some of my voodoo search skills, I finally found firmware images for the board, as well as the schematics, and some other documentations on Asus website.

There are currently 10 documents & files for download on the site:

  • Operating System Images – TinkerOS DEBIAN & TinkerOS KODI images
  • Hardware Docs – Tinker Board Schematics (PDF only), 2D & 3D Drawings
  • Software Docs – GPIO API for Python & C,
  • Other documents
    • Qualified Vendors List for devices tested with the board include micro SD cards, USB drives, Bluetooth headsets (A2DP), headphone amplifiers, Bluetooth keyboards & mice, HDMI TVs & monitors, AC adapters, Ethernet dongles, flash disks, and WiFi routers
    • Tinker Board FAQ overview
    • CSI & DSI configuration explaining how to use an external display and/or camera.

Note that there may be a reason why ASUS has not officially published the images yet: they might consider them alpha or beta (TBC).

Linux.conf.au Linux Conference Australia Videos Uploaded to YouTube

January 23rd, 2017 1 comment

Linux.conf.au is a Linux conference that takes place yearly in Australia or New Zealand. This year, the event took place on January 16-20 in  Hobart in Tasmania, and the schedule was divided into 6 categories/rooms: Sysadmin, WOOTConf, Open Knowledge, Kernel, Games and FOSS, and Open Radio.

There was not that many talks related to embedded or dev boards, but some notable sessions included “Building Escape Room Horror Experiences with Arduino and C++“, “Decoding Satellites with SatNOGS“, or “My adventures building hamlib support for the OpenSDR board” among others.

The organizers have now uploaded videos of the talks in Youtube with one session embedded below.

Via Phoronix

Categories: Linux, Video Tags: conference, Linux

GOLE360 360 Degrees Video Camera Works with Android Smartphones and in Standalone Mode

January 23rd, 2017 No comments

GOLE is better known for their mini PC tablet combos like GOLE1 and GOLE1 Plus, but the company is about to launch GOLE360 360 Degree Panorama VR Action Camera looking very similar to Insta360 Nano camera, but instead of being designed for iPhones, they made is for Android smartphones with either a micro USB port, or a USB type C port.

GOLE360 camera specifications:

  • SoC – InfoTM C23 32-bit processor @ up to 600MHz with 128MB RAM on-chip
  • Storage – micro SD slot up to 128GB
  • Camera
    • 4 MP sensor
    • Camera lens: aperture F2.4,  focuses: Efl 0.94, angle: 210o
    • Video – H.264/MOV up to 1920×[email protected] /1472×[email protected]
    • Photo – JPEG @ 3008×1504 /1920×960
  • USB – 1x micro USB 2.0 port, or 1x USB 2.0 type C port depending on model
  • Battery – 3.7V/800mAh
  • Dimensions – 11.68 x 3.7 x 2.2cm

The camera runs Linux 3.10. This is not the first 360 degree camera for Android smartphone, and we’ve covered Insta360 Air spherical camera, but GOLE360 offers a different form factor, and includes a battery which will allow you to use it in standalone mode. The Android app is currently only available as an apk, and is supposed to support photo and video recording and streaming using flash, sphere, VR and planet modes.

Click to Enlarge

“HIGOLE GOLE360” camera is up for pre-order for $118.66 on GearBest with shipping planed for after March 2nd.

Inforce 6309L Board is Powered by Qualcomm Snapdragon 410E Processor with 10-year Availability

January 22nd, 2017 2 comments

Inforce Computing launched 6309 micro single board computer powered by Snapdragon 410 processor, and compatible with 96Boards Dragon 410c board, a little over a year ago. The company has sent a newsletter promoting the launch of cost-down version with long term support equipped with Snapdragon 410E processor, and named Inforce 6309L.

Comparison table between Inforce 6309L board and DragonBoard 410C provided by the company:

Inforce 6309L
Dragonboard 410C
SoC
Qualcomm Snapdragon 410E quad core ARM Cortex A53 processor with Adreno 306 GPU
Dimensions
54mm x 85mm
Memory
Storage
1GB LPDDR3
8GB eMMC
Micro SD
Connectivity
Wi-Fi/BT/GPS
Video
1080p HD video
720p HEVC playback
Camera
Dual cameras 13MP on MIPI-CSI
Interfaces
Micro USB, USB, Micro HDMI, MIPI-CSI, expansion header
Micro USB, USB, HDMI, expansion header
Operating System
Android Lollipop 5.1
Linux (Debian)
Win10 IoT core

Both boards are pretty similar, except Inforce 6901L replaced the HDMI port with a mico HDMI port, and adds a MIPI CSI header. Cost down have been achieved by removing Ethernet, the PoE header, LVDS, and the optional interface for RS-485, as well as offering the SBC with  commercial temperature grade (0 to 70 °C) by default. Some of the specifications not mentioned in the table include the supported voltage range (7-24V DC input), the presence of an RTC, and the signal on the expansion header: 1x I2C, 1x SPI, 1x I2S, 2x UART, and 20x GPIOs.

Inforce 6309L Block Diagram – Click to Enlarge

The board is available now starting at the price of $85 for a minimum order quantity of 100 units. More details can be found on Inforce 6309L product page. Note that while the page indicated the board comes with a “quad-core Snapdragon 410E processor which has a 10-year supply commitment from Qualcomm”, Inforce did not make any explicit commitment for the board.

How to use Sonoff POW with ESPurna Firmware and Domoticz Home Automation System

January 21st, 2017 10 comments

Sonoff POW is an ESP8266 based wireless switch with a power meter that comes pre-loaded with a closed-source firmware that works with eWelink app for Android or iOS by default. But we’ve also seen Sonoff POW, and other Sonoff wireless switches from the same family, can be flash with open source firmware supporting MQTT (Message Queuing Telemetry Transport) lightweight messaging protocol such as ESPurna, and I initially sent data from Sonoff POW to ThingSpeak via an MQTT broker (mosquitto) to draw some pretty charts. I did that with the switch connected to a lightbulb, but I’ve since installed Sonoff POW in my office to measure the room’s power consumption minus the ceiling light and aircon as shown below.

Wall Mounted Sonoff POW WiFi Switch – Click to Enlarge

Sonoff cable mechanism is really a pain for hard copper wires, as they are hard to push inside the mechanism, and something come out. I finally managed by it took longer than expected to install. I had to cut the mains cable, and rewire the gang box too. The good thing is that I did not need to drill a hole in my wall, as the device is very light.

I could see the power value updated in ESPurna web interface, depending on the load on my computer, and whether I turned on or off other devices. That’s all good, but instead of using ThingSpeak, whose open source implementation is not updated, I decided to try Domoticz, and already wrote a short guide showing how install Domoticz in NanoPi NEO ARM Linux development board. I had not gone through the setup yet, as I had to study a little more, and upgrade Sonoff POW firmware first. I also planned to use vThings CO2 monitor with Domoticz, but canceled since it can’t be configured remotely, and a USB connection is needed.

ESPurna OTA Firmware Update

So I’ll focus only on Sonoff POW in this post, and first we need to update the firmware since Domoticz support is only recent. I’ll assume you have already followed the post entitled How to Build and Flash ESPurna Open Source Firmware to Sonoff POW Wireless Switch.

First we need to update platformio and ESP8266 development platform to the latest version otherwise we’ll get some build issues:

I updated the source code with git pull, but for whatever reasons the build failed, even after cleaning the code. So I did what any developer with enough experience would do in that case: start with a fresh check out ;), and rebuild the OTA firmware from there:

In order to update the firmware over the network, you’ll need to change sonoff-pow-debug-ota section in platformio.ini with your own IP address (upload_port) and password (in upload_flags) used in ESPurna web interface:

Once it’s done, you can upgrade the firmware, and then the file system as follows:

The Sonoff POW will reboot, and cut the power for about 2 seconds after both updates. My Sonoff POW is controlling my computer power, but that’s OK since I’m behind a UPS. Now I can access the web interface, and one of the improvement is that you’re being asked to setup a new password right after the update.

Click to Enlarge

I was then redirected to the Status page showing power, voltage (a bit low?), current, and power factor.

Click to Enlarge

I then jumped to MQTT menu to set the IP address to my NanoPi NEO board, and clicked Update.

Click to Enlarge

There’s a new DOMOTICZ menu which we’ll check out a little later.

Installing and Configuring MQTT in Domoticz

ESPurna communicates with Domoticz via MQTT, so the first task was to follow and adapt Domoticz MQTT wiki.

First login to your Domoticz server (NanoPi NEO) and access a terminal window to update the packages, install npm, node.js, Node RED, and mosquitto:

We then need to go to the Hardware page in Domoticz and configure a new “MQTT Client Gateway with LAN Interface” as shown in the screenshot below.

Click to Enlarge

We can test whether it works or not by creating a new Dummy device in the same Hardware section

Then click on Create Virtual Sensors, to add a new Temperature sensor which we’ll call Fictive Temp.

Now go to the list of Devices (Setup->Devices) to check the idx value (1 in our case), and a publish a MQTT message to update the temperature value of our virtual sensor:

The temperature switch from 0 to 25°C. Our installation is working. Great!

Using Sonoff POW with Domoticz

In theory, we should be able to get two type of data for Sonoff POW: relay status and power levels. However, after looking at ESPurna source code, domoticz.ino only seems to handle the relay status that can be changed from Domoticz web interface, but the power values are only send in pow.ino to the MQTT server, with data not directly compatible with Domoticz. Maybe I missed something as Tinkerman – ESPurna developer – can use Sonoff SC to send temperature data to Domoticz. Alternatively, it might be possible to convert that data somehow with Node RED, but that’s something I’ll try later. So today, I’ll only try to control the switch from Domoticz.

To do so, I created another Dummy device called Sonoff POW Switch, and from there, another Virtual Sensor of Switch type.

Click to Enlarge

Click to Enlarge

We’ve already configured MQTT in ESPurna web interface, and from the screenshot above,we can see that “Sonoff POW Switch” Idx is 3, a value we need to update in the DOMOTICZ section of ESPurna web interface.

Now I can go Domoticz interface in my phone, and not my computer since my office’s Ethernet switch will be turned off, click on the Switch tab, and turn on and off Sonoff POW by clicking on the lightbulb as shown below.

Click to Enlarge

It works fine, however note that the initial switch status was wrong (off instead on on), despite the switch sending regular updates to the MQTT server.

NanoPi NEO Power Adjustments and Installation

Normally, at this stage, it should be easy simply install NanoPi NEO outside the office close to my router in the living room. But I’ve come across a few issues doing so, which I’m going to report.

First I decided to make a very short Ethernet cable to connect NanoPi NEO directly to my router. I have done a couple of Ethernet cables in the past a few meters long, and they all work. I tested my ultra short straight Ethernet cable connections with a multimeter, and the 8 wires were properly connected, however, when I connected NanoPi NEO to the router with that cable it failed to get a link. Maybe there was aonther issue with the cable, so I made another one just as short… Another fail. It turns out very short Ethernet cables may cause issues, which are normally solved by twister pairs, but with such short cables the length of the twisted pairs is also extremely short, maybe 2 to 3 cm which may not be sufficient. So I ended up using a “normal” 1.5 meter cable, not as neat but it works.

The power strip close to my router was full, and since I did not want to add another, I decided to use the spare USB port on my modem router in order to power NanoPi NEO board. A USB 2.0 port can only deliver 2.5W max, so I was clearly looking for problems here. In order to avoid an issues, I made use of h3consumption script to adjust the behavior of CPU cores and disable unused peripherals.

Let’s check NanoPi NEO current settings in a terminal:

h3consumption allows us to change the following settings:

So I decided to disable USB, and use two CPU cores at most in order to limit the board’s power consumption, and avoid random reboots:

The changes were properly applied after a reboot.

I powered the board with my modem router, and could use it without issue. I’ll monitor NanoPi NEO’s uptime to check if this works.

e-con Systems Launches e-CAM130_CUTX1 Ultra HD Camera for Nvidia Jetson TX1 Development Board

January 20th, 2017 No comments

e-con Systems, an embedded camera solution company, has just announced the launch of e-CAM130_CUTX1 MIPI camera board for NVIDIA Jetson Tegra X1 development kit. The 13MP camera is based on On Semiconductor AR1820 CMOS image sensor, connects to TX1 board via its 4-lane MIPI CSI-2 connector, and supporting up to 3840 x 2160 @ 30fps/ 13MP@ 20 fps video streaming in uncompressed YUV format.

Jetson TX1 Board fitted with e-CAM130_CUTX1 camera module

e-CAM130_CUTX1 4K camera board features & specifications:

  • Sensor – 1/2.3″ Optical form factor AR1820HS sensor with on-board high performance ISP.
  • Focus Type – Fixed focus
  • Resolution: – 13MP on e-CAM130_CUTX1 (The sensor is capable of 18MP)
  • Pixel size – 1.25μm pixel with Aptina / ON Semiconductor A-PixHS with BSI technology and advanced pixel architecture
  • Sensor Active Area – 4912(H) x 3684(V)
  • Responsivity – 0.62 V/lux-sec (545nm); SNR: 36.3 dB; Dynamic Range: 65.8 dB
  • Output Format – Uncompressed YUV422 format and compressed MJPEG format. YUV422 resolutions:
    • VGA @ 60 fps
    • HD (720p) @ 72 fps
    • Full HD (1080p) @ 72 fps
    • 4K/Ultra HD @ 30 fps
    • 13MP @ 20 fps
  • Shutter type – Electronic Rolling Shutter
  • DFOV : 13M – 74°, 4K/1080p/720p – 69°, VGA – 72°
  • Interface – High-speed 4-lane MIPI CSI-2 interface
  • Operating Voltage – 5V +/- 5%, Current – 450mA
  • Dimensions – 75.03 mm x 40.18 mm x 25.6 mm (without lens)
  • Weight – 20 grams without lens, 26.5 grams with.

The board comes with an S-mount (M12) lens mount that enables customers to choose a lens of their choice.

The company provides a standard V4L2 driver for the camera board, which also supports Gstreamer 1.0 for video recording and networking streaming, and can be controlled with programs such GUVCViewer as demonstrated in Ubuntu 16.04 in the video below.

e-CAM130_CUTX1 4K camera module is available now for $249 via e-con Systems product page, where you’ll also find documentation (free email registration required) such as the datasheet, a getting started guide, various usage guide, and a developer’s guide.

How to Install Domoticz Home Automation System in NanoPi NEO and Other ARM Linux Boards

January 19th, 2017 7 comments

I’ve recently started experimenting with IoT projects, and the first hurdle is to select the hardware and software for your projects are there are simply so many options. For the hardware your first have to choose the communication protocols for your sensors and actuators, and if you are going to go with WiFi, ESP8266 is the obvious solution, used together with your favorite low cost Linux development board such as Raspberry Pi or Orange Pi to run some IoT server software locally or leveraging the cloud. But the most difficult & confusing part for me was to select the server software / cloud services as there are just so many options. I prefer having a local server than something running only in the cloud, as my Internet goes a few hours a month, so I started with a solution combining ThingSpeak with MQTT gathering data from Sonoff power switches running ESPurna firmware and vThings CO2 monitor. This works OK, but while ThingSpeak.com cloud service is continuously update, its open source version has not been updated since mid 2015. Among the many service and software framework available, one seems to have come more often than other, is supported by vThings air monitoring platforms, and recently been added to ESPurna. I’m talking about Domoticz described as:

a Home Automation system that lets you monitor and configure various device like lights, switches, various sensors/meters like temperature, rain, wind, UV, Electra, gas, water and much more. Notifications/Alerts can be sent to any mobile device.

The system can run on Linux, Mac OS, Windows on x86 platform, but also on 32-bit and 64-bit ARM Linux boards such as Raspberry Pi and Cubieboard with just 256MB memory recommended, and 200MB free hard disk space. It can also generate charts from the data like the ones below.

Click to Enlarge

On top of that, the forums appear to be very active, and the last stable version was released in November 2016, and the last beta release yesterday according the download page.

I’m going to take it slow, so today I’ve just tried to install it on NanoPi NEO since it’s compact and runs Linux. However, it does not appear to be officially supported by Domoticz, so we’ll have to see whether it’s possible to install it on the board.

Domoticz is not a Linux distributions but a framework, so first we need to install a Linux distributions on the board, and the obvious choice for NanoPi NEO is to use the latest Armbian release either Debian Jessie or Ubuntu Xenial.

I downloaded Debian, extracted the image, and flashed it to a micro SD card on a Ubuntu computer:

Replace /dev/sdX with your own SD card device, which you can find with lsblk command.  If you are a Windows user, you can flash the firmware like you’d do for a Raspberry Pi using Win32DiskImager after uncompress Armbian firmware.

Now we can insert the micro SD card into the board, and connect the power to start the board. If you have not connected the serial console to your board, please be patient for the first boot as the system may take around 3 to 4 minutes to boot before you can login to it, as it expands the micro SD card to full capacity, and creates a 128MB emergency SWAP file.

Once it’s done we can login through the serial console or SSH using root / 1234 credentials. The first time, you’ll be asked to go through the first setup, changing the root password, and creating a new user with sudo privileges.

So now that we have Linux running on the board, and after login again as the new user, we can follow the instructions for Raspberry Pi board and other ARM boards to install domoticz with a single command line that works on systems running Debian/Ubuntu:

After a minute or two, as the system update the packages, and download domoticz, the setup wizard should start.

At some points we’ll need a fixed IP address, either by configuring Linux with static IP, or setting a permanent IP linked to the board MAC address in the router. The second option is usually my favorite option. Nevertheless, let’s click on OK to proceed.

You’ll be asked whether you want to enabled HTTP or/and HTTPS access. I selected both for now, but it’s probably a good idea to only select HTTPS for better security.Next is the HTTP port number set to 8080 by default, followed by the HTTPS port number to 443 by default (no screenshot), and finally the installation folder which defaults to ~/domoticz. You should now have reached the Installation Complete! window, and you can click Ok to exit the installation wizard.
Wow.. That was easy, and no errors. But does it work? Let’s access https://192.168.0.110:443 from a web browser.

We have a “Your Connection is not secure” error, but it’s expected as Domoticz simply generated a self-certificate, you can safely add exception to your browser to avoid this issue next time. Your data will still be encrypted, but if you plan to access your Domoticz setup from the Internet, you should probably install an other certificate using Let’s Encrypt certificate authority for example.
Once we have added an exception to the web browser we can indeed access Domoticz web interface, so the installation worked, but it will only show “No favorite devices defined…” Again that’s normal, because we need to configure it for example by clicking on the Hardware link.

Adding Hardware to Domoticz – Click to Enlarge

This will allow you to configure the system with MQTT, local I2C sensors, all sort of gateways, and even Kodi Media Center.  I’m pretty sure all devices working over the network or USB should work, but things like “Local I2C Sensors” which may be connected directly to the board may or may not work. Anyway, that looks promising, but I’ll stop here for today, as I have a lot more to study before going further, including upgrading Sonoff firmware, and configuring vThings CO2 monitor for Domoticz.

PINE64 Introduces SOPINE A64 Allwinner A64 SoM and SOPINE “Model A” Baseboard

January 17th, 2017 26 comments

Following yesterday’s Raspberry Pi Compute Module 3 launch, we have a new development board turned into system-on-module (SoM) today with PINE64 launching SOPINE A64 SO-DIMM module based on Allwinner A64 processor with 2GB RAM together with SOPINE “Model A” baseboard.

SOPINE A64 CPU module specifications:

  • SoC – Allwinner A64 quad core Cortex A53 processor @ 1.2 GHz with Mali-400MP2 GPU
  • System Memory – 2GB LPDDR3
  • Storage – 128 Mbit SPI flash, micro SD slot (on the back)
  • I/Os via 204-pin SO-DIMM edge connector
    • Video Output / Display – HDMI + CEC, MIPI DSI
    • Audio – I2S, HP, headphone, microphone
    • 2x USB
    • 1x Gigabit Ethernet (RGMII)
    • UART, I2C, PWM, GPIOs, etc…
  • Power Supply – AXP803 PMIC
  • Dimensions – 67.9 x 31.0 mm (DDR3 SO-DIMM form factor)

SOPINE A64 will basically run the same firmware as used for PINE A64+ development board, except for some modifications for LPDDR3 RAM support. Support operating systems should include Android, Ubuntu, and other Linux distributions. In order to get started while you design your own baseboard for the module or if you simply want to evaluate the solution, the company also released SOPINE “Model A” baseboard.

The baseboard has the same layout as PINE A64/A64+ boards and roughly exposed the same ports for some extra like an eMMC slot:

  • SoM Connector – 204-pin SO-DIMM slot
  • External Storage – Optional eMMC module
  • Video Output / Display I/F – HDMI, MIPI DSI + Touch Panel connector
  • Audio – HDMI, 3.5mm headphone jack
  • Camera – 1x MIPI CSI connector
  • Connectivity – Gigabit Ethernet, header for WiFi & Bluetooth module
  • USB – 2x USB 2.0 ports
  • Expansion – Pi-2-Bus, Euler bus, and EXP 10 headers
  • Misc – RTC header
  • Power Supply – 5V via power barrel, or 3-pin battery header

SOPINE A64 module and baseboard will be available next month after Chinese New Year, and sell for $29, while SOPINE Model A baseboard will go for $14.99, and a complete kit with the SOM and baseboard for just $34.99.

You’ll find more details on SOPINE A64 product page including schematics, and some development tools.