At a guess, you don't have permission to the /dev/ttyUSB0 device. Assuming you're on Ubuntu (or probably Debian or others) if you do
ls -l /dev/ttyUSB0
you should see something like:
crw-rw---- 1 root dialout 188, 0 Dec 9 21:25 /dev/ttyUSB0
(note that you will likely have to have the dock plugged in for this device to exist!)
Feel free to skip this next bit if you already know Unix permissions!
Here's a quick explanation of this if you don't know what it means. The first bit (crw etc.) is the permissions on the device. The c at the beginning indicates that this is a special 'file' type connected to a device. (Don't worry about that bit.) The next sets of characters show what the permissions to this device are: r for read, w for write, and x for executing as a program. These are in three sections, one for the owner of the device, one for the group of users that own the device, and one for everyone else. In this case, rw-rw---- means that the owner has read and write permission (but not execute), the group does as well, and everyone else has nothing at all.
After the permissions are the name of the owner and the group that owns the device. In this case, 'root' owns it and the 'dialout' group is the group. Since you are neither root nor in the 'dialout' group by default, you fall into that other category with no permission to access the device.
Now the solution!
There are a few ways you can deal with this. One is to use 'sudo' when launching screen:
sudo screen /dev/ttyUSB0 115200
This will execute screen as the root user, meaning you are now the 'owner' of the file. If you're okay with doing this every time, you're all set.
Another thing you could do is to make yourself a member of the 'dialout' group:
sudo usermod -a -G dialout [your user name]
This will add you to the dialout group and give you permission. You will need to log out and back in first before this will work though.
Hi @Paul-Koene, This is something we are working on. To wrap the irq into the edge file for the sysfs API of GPIO. You can take a look at what's already available here: https://github.com/OnionIoT/gpio-irq. You can already receive a hardware interrupt signal from the kernel, however we just have to wrap that into a better interface to make it accessible via PHP, Pythong, etc.
@Flint-Olsen, yeah, it will work every time for a given login setup. I meant that it would be very difficult to design an universal script that will be able to login to all the login screens out there.
Yes, you should be able to send POST request via curl. You will need to go into the HTML file of the setup screen to see what kind of information is passed to the router via the POST request. Then all you will need to do is to simulate that request, and you should be able to log in.
Hi @Fred-Blais, we agree, it's much easier to do the cross-compilation if we provide the SDK. But the problem with the SDK is that it's hard to predict what platform one is trying to compile the firmware on. We'll probably add some content to the tutorial to show how to setup the environment with the SDK. Also, we will be launching a cross-compilation service for you to upload packages to be compiled. Hopefully all of these will make it much easier for everyone who wants to create their own packages.
@Peter-Harrald Hi Peter, sorry for the late response. I was still trying to duplicate the problem and then you mentioned it was fixed. My best guess is that one of the apache configuration files wasn't setup properly. Re-installing the package is like the software version of "turning it off and on again", lol.