@crispyoz ok, i discovered another strange behavior. When connecting to an ShellyBluetooth Dongle AP the omega keeps disconnecting/connecting. I need to run a script which continuesly ping the AP to keep the connection. With other hardware the connection to the shelly is no problem. So it looks like the omega is doing something different.
Hi There,
The forum doesn't seem very active, but throwing this out there just in case...
I am new to electronics and picked up an Omega2+ makers kit to try to learn some basics with an eye towards some home automation eventually. The Omega2+ is super neat and its been fun to play with so far.
I am working through the kit examples with the shift register tutorial at https://docs.onion.io/omega2-maker-kit/starter-kit-using-shift-register.html. All is good with it until I get to the the final wiring instructions that says:
Connecting your Omega to the Shift Register
Connect the GND pin on the Expansion Dock to the Vcc rail.
Connect GPIO1 to SER (pin 14).
Connect GPIO2 to SRCLK (pin 11).
Connect GPIO3 to RCLK (pin 12).
Connect the 3.3V pin on the Expansion Dock to the ground rail.
It didn't make a lot of sense to connect GND to Vcc and the 3.3 GPIO to the ground rail. But what do I know? I made the connect and it crashed the Omega2+ (power cycled). All the other wiring looked ok as far as I could tell. So.. I switched the wires (which seemed to make more sense with 3.3V GPUO going to Vcc and ground going to ground) and the Omega2+ doesn't crash, but the code for the shift register has no effect.
Looking for some help guidance on how to approach this:
Are the original wiring instructions correct (Vcc->ground, GND->3.3V) and I just had something wrong in my wiring that I missed that presumably shorted something? That direction didn't seem to make sense given the circuit diagram in the example which has Vcc going to voltage but am a beginner so not sure if I am reading things correctly.
Since I powered it in both directions (one of which being wrong by definition) what is the best way to tell if I fried the chip?
Is there something else I am missing?
Sorry this is so basic and appreciate any advice or direction.
While OpenWrt is a single user system, you can create additional users so you don't have to disclose the root user password. You can add the user by editing /etc/passwd and /etc/shadow or you can install the useradd package:
opkg install shadow-useradd
Now add a new user named "admin", but we don't want them to have shell access:
useradd admin -d /var -M -s /bin/false -p mytemporarypassword
The password is added in cleartext so you need to change it using the command:
passwd admin
Follow the prompts to set your password then you can confirm the new user has been added as required:
cat /etc/passwd
cat /etc/shadow
Since OnionOS uses ubus via rpc we need to add the user to the rpc user list. The configuration file is /etc/config/rcpd, but you can use uci commands to add the user:
uci add rpcd login
uci set rpcd.@login[-1].username='admin'
uci set rpcd.@login[-1].password='$p$admin'
uci add_list rpcd.@login[-1].read='*'
uci add_list rpcd.@login[-1].write='*'
uci commit rpcd
The username must match the username we just created and the structure of the password field causes the rpc daemon to use the system password we just created.
The "read" and "write" fields is set to an asterisk indicating that the user will have unrestricted access, the same as the root user.
You can confirm the new user had been added using a uci command:
uci show rpcd
rpcd.@login[0]=login
rpcd.@login[0].username='root'
rpcd.@login[0].password='$p$root'
rpcd.@login[0].read='*'
rpcd.@login[0].write='*'
rpcd.@login[1]=login
rpcd.@login[1].username='admin'
rpcd.@login[1].password='$p$admin'
rpcd.@login[1].read='*'
rpcd.@login[1].write='*'
Now restart the rpc daemon:
service rpcd restart
You can now login to OnionOS with the same functionality as the root user has, but the user has no console access.
@cyberai pls try running the checkCamera.py Example Python Program and posting the command line output and screenshots of the output.
This will give us a better idea of what's going on.