Documentation for all things Onion
onioniot / onion-docs Goto Github PK
View Code? Open in Web Editor NEWDocumentation for all things Onion
Home Page: https://docs.onion.io
License: GNU General Public License v3.0
Documentation for all things Onion
Home Page: https://docs.onion.io
License: GNU General Public License v3.0
Using-GPIOs.md shows that you can use gpioctl
to control say a LED.
"You can configure your GPIO pin to supply power to a load with your Omega, for example, if you were powering an LED."
root@Omega-ADBD:~# gpioctl dirout 6
Using gpio pin 6.
root@Omega-ADBD:~# gpioctl dirout-high 6
Using gpio pin 6.
root@Omega-ADBD:~# gpioctl get 6
Using gpio pin 6.
Pin 6 is HIGH
root@Omega-ADBD:~# gpioctl dirout-low 6
Using gpio pin 6.
root@Omega-ADBD:~# gpioctl get 6
Using gpio pin 6.
Pin 6 is LOW
Nothing happens, I was expecting the LED to do something... though the documentation isn't clear as to what it is supposed to do. I'm guessing turn on and off.
Hi. I was just reading the Power Dock page and all the content in each section seems to be duplicated. It doesn't appear to be that way in the markdown file. Is it a problem with the compilation?
The documentation on OPKG says:
Note that your Omega cannot install kernel modules from the default LEDE repos. opkg only allows installation of kernel modules compiled by the same machine that compiled the firmware. This is to ensure that all installed kernel modules are the exact same version as the device’s kernel. It would be pretty disastrous to install a module that expects a different version of the overall kernel so opkg never lets it happen!
My Onion Omega 2+ has firmware version 0.2.0 (b186), which uses the 4.4.74-1 kernel. Whenever I try to install any kernel modules the install fails and returns the error
Collected errors: satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-hfs: kernel (= 4.4.135-1-fd6e4535420b1cebe485c935e0d20c0d) * opkg_install_cmd: Cannot install package kmod-fs-hfs. pkg_run_script: package "kmod-input-joydev" postinst script returned status 255. opkg_configure: kmod-input-joydev.postinst returned 255.
I cannot install any kernel modules except for kmod-input-core but I had to use the --nodeps install flag.
opkg install kmod-input-core --nodeps
Hi,
I would like to see the php extension "filter" on the omega.
We already discuss things here : https://community.onion.io/topic/1241/omega2-php-mods-add-filter
And I open an issue here : openwrt/packages#3831
It seems that you "just have to"
add CONFIG_PHP7_FILTER=y to the build configuration
I don't know if it's possible ? I don't know if the new php package wqill become very heavier...
Thanks a lot,
Hi,
as I previously wrote you on Twitter, your SSL Certificate has expired yesterday.
You should renew it, because the cloud, the docs (hsts) and the Omega2 Setup don't seem to work properly and it's not very trust generating in general.
Sorry if this is the wrong place for it, I don't know where else to post this.
I followed the instructions from Connect-to-enterprise-wifi.md but after I run /etc/init.d/network restart, the Omega's AP disappears from my Mac's listed wifi networks and I can no longer connect to the board. This effectively renders my Omega useless since I have to be able to connect to the wifi network to ssh into the board and do anything on it.
Are the instructions I followed up to date? I have an Omega 2 and a Power Dock 2.
The documentation still says to install block-mount with opkg even though it says to use /sbin/block mount
when installing block-mount with opkg
Hi,
I don't know if there is a solution, but, I don't get any response for now.
So, is it possible make the zeroconf/bonjour service work on android devices ? I don't find any end user option/app for that...
The discussion is here : https://community.onion.io/topic/1261/how-work-the-address-omega-local
Thanks a lot,
The github repo https://git.lede-project.org/source.git
referenced to from https://docs.onion.io/omega2-docs/cross-compiling.html is not available.
Find function is completely broken.
it's -> its, retard
" - " -> —, :
will -> shall
comma splices
colon splices
number splice
"monocrome"
Project Book says / is at bottom of a tree but then refers to other directories as below and rootward as up.
"gets their"
fast[er] -> soon[er], short[li][er], swift[li][er]
command like -> command line
"Resisters"
resorts to incorrect conventional polarity
mistakes behind for above
"little bit"
thin -> fine, slim
super useful -> superuseful
method -> methods
or less -> or fewer
data that's -> data that're
URLs, images, and code off the edge on pages 80, 81, 82, 103, 104, 111, 128, 129, 146, 152, 213, 219, 247, 256, 259, 272, 273, 284, 302
"create quickly create"
nice < niais < nescius := not-skilled -> well
[that][This] data -> [those][These] data
[to] [we] setup -> [to] [we] set up
create -> to create
Length -> Height
data is -> data are
out script -> our script
"periods of time"
away from -> frowards
length -> span
duration -> length
[left][right] most -> [left][right]most
Yyu -> You
apart -> apart.
Onion' -> Onion's
blank page 255
table overlap on page 263
corrupt image on page 274
Andriod -> Android
widow on page 275
large square piece -> block
"storageL"
mislink on page 309, 319
"on connected"
be be -> to be
routers -> router's
is, the -> is the
travel < travail < trepale -> go, fare, wend
deadlink on page 322
Hi there,
I suspect you have made a mistake in your servo documentation at: https://docs.onion.io/omega2-maker-kit/maker-kit-servo-h-bridge.html#
You instruct the following: 3) Take one M-M jumper and connect 1,2EN on the IC (row 5 on our board) to the Vcc rail.
That however will then not allow you to adjust the speed at which the motor turns, and the sample code provided will always turn the motor at full speed, despite setting it to something else. I suspect that the text should read:
Willem
Onion-Docs/Omega2/Documentation/Reference/Libraries/PWM-Expansion-Node-Module.md is incorrect.
The setupDriver, setFrequency and disableChip methods require a callback to function correctly. This is missing from the documentation.
i.e.
pwmExp.setupDriver(0,50,0, () => {
console.log("setupDriver success.");
});
The current neopixel library for the arduino dock does not support RGBW LEDs. Micropython recently added the feature to support them. Can we either, include support in the Arduino library, or can one control the Arduino using micropython?
Also, I can't seem to find the source code for the Onion Neopixel library. Where can I find that?
Thanks!
remote: Repository not found.
fatal: repository 'https://github.com/OnionIoT/starter-traffic-light.git/' not found
Whilst GPIOs 7, 8, and 9 might technically be GPIOs on the SoC, they can't be used as such on the module, due to the flash using their SPI channel. This is alluded to in a dark corner of the written documentation, but could be more clearly communicated by not marking them as GPIOs on the pinout diagram.
Since i got my Omega2+ i do get the problem that Busybox is not working as described in the Documentation (I remember that i helped to make that in the Wiki).
I saw the request about ": applet not found" but i would say it is not up to us to install Busybox before we can use it ... will this issue be fixed soon?
Or is this just by some Users so ... i had to make several resets an sysupgrades ... but i never had the normal behavior.
root@Omega-####:/# help
/bin/ash: help: not found
root@Omega-####:/# busybox --help
-help: applet not found
Hey guys, just wanted to report a small typo in the section:
Linux Introduction
> Exploring The File System
> How To Navigate In Linux
.
Under ls command
, the following sentence can be found ;)
So let’s see what’s in our homeGETPROPERNAMEFORTHIS directory.
Keep up the great work!
Jaime
According to Expansion-Dock.md you can use expled
to change the LED color on the board. You can't actually do anything with it.
Various tries, for all the LED remained blue. If you put a 00 as a value the program segfaults.
root@Omega-ADBD:~# expled 0xf21133
Setting LEDs to: f21133
Duty: 6 94 80
root@Omega-ADBD:~# expled 0xff1133
Setting LEDs to: ff1133
Duty: 0 94 80
root@Omega-ADBD:~# expled 0xff0000
Setting LEDs to: ff0000
Duty: 0 100 100
Segmentation fault
Segmentation fault
root@Omega-ADBD:~# expled 0x00ff00
Setting LEDs to: 00ff00
Duty: 100 0 100
Segmentation fault
Segmentation fault
root@Omega-ADBD:~# expled 0x0000ff
Setting LEDs to: 0000ff
Duty: 100 100 0
Segmentation fault
Segmentation fault
For the git-http
package to correctly work, the ca-bundle
package is required as well. This is not documented unfortunately. The command in the docs should instead be: opkg install git git-http ca-bundle
Read a List of Bytes without Specifying an Address - read() should be documented as is the write() function. It is there and works.
uint8_t *buffer = malloc(OLED_EXP_WIDTH*OLED_EXP_HEIGHT/8 * sizeof *buffer); // allocate memory for the buffer
This statement appears twice in the file. It should be either
uint8_t *buffer = malloc(OLED_EXP_WIDTH*OLED_EXP_HEIGHT/(8 * sizeof *buffer)); // allocate memory for the buffer
or
uint8_t *buffer = malloc(OLED_EXP_WIDTH*OLED_EXP_HEIGHT/8 / sizeof *buffer); // allocate memory for the buffer
so that the number of elements allocated decreases as the size of the data type used for buffer increases. The only reason to include "sizeof *buffer" in the calculation is if you're intent is to make the code more bullet-proof against changes in the base data type, so the code should work correctly if that is done.
The pinout-diagram doesn't list the GPIO-numbers for ephy, it doesn't list which pins have PWM-capability, nor does it list spi_s-pins.
Says:
mount /dev/ /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt
Should say
mount /dev/ /mnt/ ; tar -C /overlay -cvf - . | tar -C /mnt/ -xf - ; umount /mnt/
It should do that because the instructions just before have you creating the mount point using that naming scheme. If you follow the instructions exactly, then the "/mnt" path is a regular directory, and the mount fails and the tar copies the files to that directory.
After moving the copied files to the /mnt/ directory, I continued with the instructions and it worked as described.
On this picture: https://github.com/OnionIoT/Onion-Docs/blob/master/Omega2/Kit-Guides/Arduino/diagrams/04-circuit-diagram.png
The 200Ω resistor next to the GPIO2 should be 5.1kΩ to match the components listed in "What You'll Need".
stocks.py - Line 29: url = "http://www.google.com/finance/info?q="
no longer returns stock prices.
More info here:https://stackoverflow.com/questions/46080632/http-error-404-from-googlefinance-in-python-2-7/46081537#46081537
TL;DR google finance changed their endpoint.
There is a typo in the Onion Omega2 Docs under Onion-Docs/Omega2/Documentation/Doing-Stuff/Expansions/Using-the-GPS-Expansion. Under the heading "Reading NMEA Data Using ogps" you have instructions stating:
You can also use ogps to access relevant data offered up by the GPS via ubus calls. To install ogps enter the following commands.
opkg update opkg install opgs
opgs is misspelled as "opgs" in the command "opkg install ogps" and I don't beleave that is what you're trying to install there as opgs is not a real package.
New instructions should look like this:
You can also use ogps to access relevant data offered up by the GPS via ubus calls. To install ogps enter the following commands.
opkg update opkg install ogps
Followed all the instructions, but when I try to upload the code to the arduino dock, I'm receiving this from Arduino IDE:
"C:\Users\rodri\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc-ar" rcs "C:\Users\rodri\AppData\Local\Temp\arduino_build_66107\core\core.a" "C:\Users\rodri\AppData\Local\Temp\arduino_build_66107\core\wiring_pulse.S.o"
Error running c:\users\rodri\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2\bin../lib/gcc/avr/4.9.2/../../../../avr/bin/ar.exe: CreateProcess
Using library Adafruit_Sensor-master at version 1.0.2 in folder: C:\Users\rodri\Documents\Arduino\libraries\Adafruit_Sensor-master
Using library DHT-sensor-library-master at version 1.3.0 in folder: C:\Users\rodri\Documents\Arduino\libraries\DHT-sensor-library-master
exit status 1
Error compiling for board Onion Arduino Dock.
In Onion Omega2 Docs/Using the Omega/Using the Omega's GPIOs/Fast-GPIOs under "Command Usage:" the first paragraph reads,
For a print-out of the usage, run
fast-gpio
with on the command line:
"with on" is redundant, should use one or the other, probably "on"
New line should read:
For a print-out of the usage, run
fast-gpio
on the command line:
Hi,
I'm glad to see there is a new documentation for the omega2 !
But I can't find any example for php, ruby, nodejs ...
How do we configure the omega2 to execute one of this languages and how can we use the GPIO through this languages ?
thanks for your help,
In my case I wasn't able to install the console on omega2 as the disk space was used by python.
Some of the things that I discovered myself but would be nice to have in the docs:
edit the file /etc/config/onion
and add a section as:
config cloud 'cloud'
option deviceId 'YOURDEVICEID'
option secret 'YOURSECRETCODE'
-To view the disk space run the command '/usr/sbin/disk-space' (if the console is installed, otherwise get that script from the ipk)
Hello, am getting this error while installing the pip library for running octoprint on the Omega board, any ideas how to resolve it referring the setup link: https://docs.onion.io/omega2-project-book-vol1/octoprint-server.html
root@Omega-AT:~/OctoPrint-1.0.0# root@Omega-AT:~/OctoPrint-1.0.0# pip install -r requirements.txt WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. Collecting flask==0.9 Using cached Flask-0.9.tar.gz (481 kB) ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. root@Omega-AT:~/OctoPrint-1.0.0# root@Omega-AT:~/OctoPrint-1.0.0#
Omega2/Documentation/Doing-Stuff/Advanced/Cross-Compile.md is far from true.
It's not a documentation, where even the steps actually written down in it are untrue.
You can't just simply go through it and get anything compiled, not to say something really useful.
You'll basically stuck with hopelessly trying to compile an environment.
Please, at least, change the docs to represent the actual process needed, even if it looks right now as a giant workaround with docker, broken dpkg dependencies and whatelseyouhavethereidontyetknowbecauseicantyetgetthrough.mk
The "Using the Omega section" link in the sentence:
Start using your fresh Omega, check out the Using the Omega section for ideas on what the Omega can do!
just above The Setup Wizard Didn’t Work! does not work. It looks like it should be doing-stuff.html#doing-stuff
instead of first-time-setup.html#doing%20stuff
. 🔎
In Onion Omega2 Docs/Using the Omega/Using the Omega's GPIOs/Multiplexed GPIOs under "Changing the GPIO Function" the second paragraph says,
To illustrate the above, the following command will set I2C pins to GPIO mode:
but the example shows changing the uart1 pins to gpio
omega2-ctrl gpiomux set uart1 gpio
The second paragraph should be updated to read
To illustrate the above, the following command will set UART1 pins to GPIO mode:
or the example should be updated
Namely, output resistance of an output pin (or, how much current is it safe to draw), and input resistance of an input pin (or, how much current will be drawn from the peripheral). Based on the latter, recommended pullup/-down resistor would be helpful.
Hi, I'm trying to get data of a DHT22 sensor in Omega2, but am getting the following error:
line 1: syntax error: unexpected "(" (expecting ")")
Any ideas about it? Thanks.
Could you please change the Date from January 2017 on? (it starts over with 2016)
The schematic for reading a switch in the starter & maker kits is incorrectly referencing 5V, when it should reference 3V3: https://raw.githubusercontent.com/OnionIoT/Onion-Docs/master/Omega2/Kit-Guides/Starter/diagrams/04-02-circuit-diagram.png
Also, the photo of the circuit is incorrectly showing the positive rail connected to 5V: https://raw.githubusercontent.com/OnionIoT/Onion-Docs/master/Omega2/Kit-Guides/Starter/img/04-experiment-circuit.jpg
Can you provide a tutorial for using 1-wire on omega2/2+ ?
https://wiki.onion.io/Tutorials/Reading-1Wire-Sensor-Data
Thanks,
Dear Sirs,
Can you please provide me with the instructions on how to create offline documentation from "Onion-Docs".
Thanks in advance,
Michael
Hello, dont really know is it Onion-Docs, source repository issue or I just missing something simple. Section Advanced->Cross-Compiling->Build System Root
describe setup build system process, but make -j20
command finished with following error:
make -r world: build failed. Please re-run make with -j1 V=s to see what's going on
/home/konstantin/workplace/onionIoT/source/include/toplevel.mk:198: recipe for target 'world' failed
make: *** [world] Error 1
re-runing make as make -j1 V=s
have tons of output, and it ends with following error:
make[6]: Entering directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/debugfs'
CC debug_cmds.c
CC extent_cmds.c
CC create_inode.o
./../misc/create_inode.c: In function 'set_inode_xattr':
./../misc/create_inode.c:136:9: warning: implicit declaration of function 'llistxattr'; did you mean 'lstat64'? [-Wimplicit-function-declaration]
size = llistxattr(filename, NULL, 0);
^~~~~~~~~~
lstat64
./../misc/create_inode.c:172:16: warning: implicit declaration of function 'lgetxattr'; did you mean 'getdate_r'? [-Wimplicit-function-declaration]
value_size = lgetxattr(filename, name, NULL, 0);
^~~~~~~~~
getdate_r
./../misc/create_inode.c: At top level:
./../misc/create_inode.c:395:18: error: conflicting types for 'copy_file_range'
static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
^~~~~~~~~~~~~~~
In file included from ./../misc/create_inode.c:19:0:
/usr/include/unistd.h:1110:9: note: previous declaration of 'copy_file_range' was here
ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
^~~~~~~~~~~~~~~
Makefile:417: recipe for target 'create_inode.o' failed
make[6]: *** [create_inode.o] Error 1
make[6]: Leaving directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/debugfs'
Makefile:404: recipe for target 'all-progs-recursive' failed
make[5]: *** [all-progs-recursive] Error 1
make[5]: Leaving directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3'
Makefile:339: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3'
Makefile:49: recipe for target '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/.built' failed
make[3]: *** [/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/.built] Error 2
make[3]: Leaving directory '/home/konstantin/workplace/onionIoT/source/tools/e2fsprogs'
tools/Makefile:147: recipe for target 'tools/e2fsprogs/compile' failed
make[2]: *** [tools/e2fsprogs/compile] Error 2
make[2]: Leaving directory '/home/konstantin/workplace/onionIoT/source'
tools/Makefile:145: recipe for target '/home/konstantin/workplace/onionIoT/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny' failed
make[1]: *** [/home/konstantin/workplace/onionIoT/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny] Error 2
make[1]: Leaving directory '/home/konstantin/workplace/onionIoT/source'
/home/konstantin/workplace/onionIoT/source/include/toplevel.mk:198: recipe for target 'world' failed
make: *** [world] Error 2
I am not really familiar with cross compiling and stuck here.
Hi,
I have omega2p, with factory u-boot. Is it possible to flash the new u-boot without using ethernet connection?
As I don't own the ethernet dock, only expansion dock.
both serial over usb and/or wifi are working.
Can this be done from running Linux distro or u-boot command line (ex. flash u-boot from usb drive) ?
https://docs.onion.io/omega2-docs/c-compiler-on-omega.html says that if two lines are uncommented in the file /etc/opkg/distfeeds.conf
you can add some package repositories for you to be able to compile C and C++ programs in the Omega. I found out that the gcc compilers are not available in any repository. The following error message appears when I try to install gcc with opkg install gcc
:
Unknown package 'gcc'.
Collected errors:
* opkg_install_cmd: Cannot install package gcc.
@greenbreakfast any idea what happened?
Hi,
I still have an Omega 1 here, and I'm looking into buying an Omega 2 soon. I'd like to contribute some efforts from my side, and it would be nice if they and others could be featured / referenced.
Some folks have brought FreeBSD to the Omega 2, see https://github.com/ZakSN/FreeBSD-onion-omega2-build-notes/blob/master/freebsd_omega2%2B.md and https://twitter.com/allanjude/status/666495547650412544.
For u-root.org, we recently added MIPS support, and I am experimenting with multiple boards now to see how far it would get, retaining the existing bootloader and kernel and swapping out the rootfs. The Omega 1 is my next target.
Now I have a few questions regarding that:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.