====== YUN Topics ======
Once you’ve connected to your Arduino’s WiFi, open a browser and visit arduino.local.
If that doesn’t work, visit 192.168.240.1.
When asked for a password, enter “arduino”
[[http://arduino.cc/en/Tutorial/YunSerialTerminal?action=sourceblock&num=4 | YunSerialTerminal]]
One difference is that to enable public key based authentication for root, the authorized public keys need to be
added to the following file (and not the usual /root/.ssh/authorized_keys):
vi /etc/dropbear/authorized_keys
chmod 0600 /etc/dropbear/authorized_keys
A complete tutorial for setting up public key based authentication on OpenWRT can be found here.
[[http://tavendo.com/blog/post/arduino-yun-with-autobahn/ | UNIX examples - many hacks]]
[[http://osxfuse.github.io/ | OSX Fuse - SSHFS]]
[[https://github.com/soundanalogous/yunBreakout | YUN websockets server]]
[[http://asynkronix.se/internet-of-things-with-arduino-yun-and-yaler/ | Yaler Example]]
[[http://forum.arduino.cc/index.php?topic=268382.0 | Websockets Client]]
Download libwebsockets:
https://www.dropbox.com/s/r4lx1etrdaadc3o/libwebsockets_2014-03-01-388dc7d201d8d123841869fb49ec4d94d6dd7f54_ar71xx.ipk?dl=0
Download libwebsockets-examples:
https://www.dropbox.com/s/yt55xof23nte802/libwebsockets-examples_2014-03-01-388dc7d201d8d123841869fb49ec4d94d6dd7f54_ar71xx.ipk?dl=0
===== Dev Tools on YUN =====
[[http://playground.arduino.cc/Hardware/Yun#Compiling_on_the_Yun| Dev Tools and Web Server Hacks]]
[[http://arduino.cc/en/Tutorial/ExpandingYunDiskSpace| Extending Disk Space]]
Insert a microSD card and run the Expanding Space sketch
Install binutils so you have a linker, without this gcc is pretty useless
opkg update
opkg install binutils
Install make if you plan on using Makefiles
opkg install make
Install the yun-gcc package using a cached location for the downloaded file, this can take 15 to 20 minutes so be patient:
opkg -t /root install yun-gcc
==== Reset Password ====
So the problem is that you've lost your password?
Two workarounds:
start the yun and wait a minute, load the yunserialterminal example,
open the serial monitor, press enter and see the prompt, type "passwd"
without the double quotes and change your password
start the yun and wait a minute, the press and hold the reset button for
about 40 seconds (it's on the side, near the USB connector)
===== packages =====
oot@showcontroller:~# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 7168 3336 3832 47% /
/dev/root 7680 7680 0 100% /rom
tmpfs 30560 148 30412 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 7168 3336 3832 47% /overlay
overlayfs:/overlay 7168 3336 3832 47% /
root@showcontroller:~# opkg install ./libwebsocket-examples.ipk
Installing libwebsockets-examples (2014-03-01-388dc7d201d8d123841869fb49ec4d94d6dd7f54) to root...
[[http://arduino.cc/en/Reference/YunBridgeLibrary| Bridge Library and Examples]]
run-sysupgrade /mnt/sda1/openwrt-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin
The output on the console will look like this:
run-sysupgrade /mnt/sda1/openwrt-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin
Sending TERM to remaining processes ... uhttpd dbus-daemon dnsmasq avahi-daemon thd ntpd uSDaemon sleep syslogd klogd hotplug2 procd ubusd netifd
Sending KILL to remaining processes ...
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...
Writing from to firmware ...
Upgrade completed
Rebooting system...
name seems to be in /tmp/resolv.conf.auto
nameserver such as 192.168.1.1
opkg intsall sqlite3-cli
Install php5-mod-sqlite3 - 5.4.17-1, And of cource the other PHP modules you need
Example php5
db=new SQLite3("/mnt/sda1/arduino/www/test/ec.db");
$results = $db->query('SELECT * FROM Navn');
while ($row = $results->fetchArray()) {
var_dump($row);
print $row[1];
}
You need to edit uhttpd (the web server) config file, located at /etc/config/uhttpd .
HP (5 or 4)
In order to install php5 or php4, be sure your Yún can access the internet then, via SSH or via the YunSerialTerminal, issue commands
opkg update
opkg install php5 php5-cgi
Php5-cgi is good for making web sites. If you want to use php as a command line interpreter, install php5-cli
Ensure that you uncomment the extension interpreter line for PHP in the main section of the uHTTPd config file: list interpreter ".php=/usr/bin/php-cgi"
Creating keys on the Yun:
dropbearkey -t rsa -f id_rsa
Viewing the keys:
dropbearkey -f ./id_rsa -y
Connecting using the key:
ssh -i ./id_rsa
Need to copy the ~/.ssh/known_hosts to /.ssh for automated startup scripts to work with SSH and SCP
[[http://www.lucadentella.it/en/2014/02/10/yun-sketch-uploader/ | Sketch Uploader]]
[[http://www.itopen.it/arduino-1-0-development-with-a-makefile/ | Building with Makefile]]
[[https://gist.github.com/probonopd/9594775| Run avrdude]]
The sketch will be transferred to the AR9331,
and the Linux distribution will program the ATmega32U4
through the SPI bus, emulating an AVR ISP programmer.
The "/arduino" directory doesn't have anything pre-configured. Anything added to the URL after the end point is passed from the webserver to the sketch on the 32U4. You can define your APIs inside the sketch. See the Bridge example to see how this is done to access the pins on the board.
"/data" is used to access to the internal key/value storage. The available calls are:
/put/KEY/VALUE : stores a value inside the storage
/get/KEY : obtains the value of the requested key in JSON
/get : obtains the entire storage list in JSON.
/delete : deletes the internal storage
"mailbox" is used to add messages into a queue called Mailbox. The message queue is stored inside the Linux system and can be read by the Arduino microcontroller. The available REST call is:
"/mailbox/message"
Time working in PHP
ssue commands
opkg update
opkg install zoneinfo-core
opkg install zoneinfo-europe
opkg install zoneinfo-northamerica
Type opkg list | grep zoneinfo and look for your timezone
Still has Warnings - remove warnings:
error_reporting(E_ERROR | E_PARSE);
MOD CURL
opkg install php5-mod-curl
Installing php5-mod-curl (5.4.5-3) to root...