DD Client on Ubuntu for Dynamic DNS (no-ip)

Install ddclient on Linux machine


sudo apt-get install ddclient

After installing ddclient,  configure ddclient for  ‘no-ip’ service provider


sudo nano /etc/ddclient.conf

Edit configuration file


# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
daemon=180
use=web, web=whatismyip.org
protocol=dyndns2
server=dynupdate.no-ip.com
login='YourUsernameWithoutQuote'
password='YourPasswordWithQuote'
'YourHostNameWithoutQuote' #example myhome.ddns.net

daemon=180 specifies that update client every 180 seconds

use=web , specifies check ip address from provided website: web=whatismyip.org

remaining setup entries are pertaining to ‘no-ip’ configuration

 

One wire setup on BeagleBone Black

Here is the DTS file that I used to compile to setup One-Wire connection on Beaglebone Black.
I have used P9.22 for one wire connection and in parasitic mode.

/dts-v1/;
/plugin/;
/ {
    compatible = "ti,beaglebone", "ti,beaglebone-black";
    part-number = "BB-W1";
    version = "00A0";
    /* state the resources this cape uses */
    exclusive-use =
    /* the pin header uses */
    "P9.22",
    /* the hardware IP uses */
    "gpio0_2";
    fragment@0 {
      target = <&am33xx_pinmux>;
      __overlay__ {
        dallas_w1_pins: pinmux_dallas_w1_pins {
          pinctrl-single,pins = < 0x150 0x37 >;
        };
      };
    };
    fragment@1 {
    target = <&ocp>;
    __overlay__ {
        onewire@0 {
          compatible      = "w1-gpio";
          pinctrl-names   = "default";
          pinctrl-0       = <&dallas_w1_pins>;
          status          = "okay";
          gpios = <&gpio1 2 0>;
          };
        };
    };
};

Here DS18B20 or DS18S20 sensors are connected in parasitic mode, consuming only 2 wires for connection. VDD pin must be connected to GND pin of each sensors. 47 Ohms resistors are added to GND and 1wire terminal on BBB to limit current in case lines are short circuited. BBB specify that pins are at 3.3V logic and not 5V tolerant, so for more safer side you may connect to 3.3V VDD and reduce the value of R1 (say around 1.5k)

ds18b20BBB.png

Setup NetBeans to develop php application in Beaglebone Black / Raspberry Pi ( Setup remote connection)

  1. Project propertiesconnectionproperties-runas

2)  connectionproperties-runas_ink_li

connectionproperties

If remote connection not setup already, then click add to create a new one.

createnewconnection

Note Initial directory, it will be root directory to upload project files by NetBeans.

Setup pins on Beaglebone Black

 


debian@beaglebone:~$ nano /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#export gpio, configure pin for output and set permissions to allow all users

#GPIO PIN SETUP
echo 66 > /sys/class/gpio/export
chmod 666 /sys/class/gpio/gpio66/value
chmod 666 /sys/class/gpio/gpio66/direction
echo out > /sys/class/gpio/gpio66/direction

echo 67 > /sys/class/gpio/export
chmod 666 /sys/class/gpio/gpio67/value
chmod 666 /sys/class/gpio/gpio67/direction
echo out > /sys/class/gpio/gpio67/direction
echo 68 > /sys/class/gpio/export
chmod 666 /sys/class/gpio/gpio68/value
chmod 666 /sys/class/gpio/gpio68/direction
echo out > /sys/class/gpio/gpio68/direction
#GPIO PIN SETUP END
#PWM PIN SETUP
chmod 666 /sys/devices/ocp.*/pwm_test_P9_14.*/duty
chmod 666 /sys/devices/ocp.*/pwm_test_P9_16.*/duty
chmod 666 /sys/devices/ocp.*/pwm_test_P9_29.*/duty
chmod 666 /sys/devices/ocp.*/pwm_test_P9_14.*/period
chmod 666 /sys/devices/ocp.*/pwm_test_P9_16.*/period
chmod 666 /sys/devices/ocp.*/pwm_test_P9_29.*/period

#PWN PIN SETUP END

exit 0

 

Remote connection to MySQL in BBB/Raspberry Pi/Linux

This post describes the required settings for MySQL in BBB/Raspberry/Linux so as to connect from a remote client in non root mode.

Connect to BBB/Raspberry/Linux shell using an SSH client such as PuTTY or direct connection.


sudo nano /etc/mysql/my.cnf

change

bind-address   = localhost

to 

bind-address   = 0.0.0.0

Login to root mysql


debian@beaglebone:~$ sudo mysql -p

<enter root password>

mysql> GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%'
         IDENTIFIED BY 'user1password';

change privileges of the required user to allow
remote connection. Note % symbol, which mean it
will allow from any domain including localhost.
By default is localhost.

*.* specifies grant to all databases. You can restrict
to specific database using

yourdatabase.* instead of *.*

Restart MySQL using


sudo service mysql restart

Now you will be able to connect to MySQL using non root database accounts.