You need to install libsdl-gfx1.2-4 package before install TinyBASIC.
- SSH to Raspberry Pi and execute command below:
|sudo apt-get install libsdl-gfx1.2-4|
- Download TinyBASIC deb file and save it to any location of computer
- Transfer the downloaded deb file from computer to /tmp folder of Raspberry Pi using WinSCP
- Execute command below to start install TinyBasic
|sudo dpkg -i /tmp/tinybasic_2.1-1_armhf.deb|
VirtualBox running in Ms Windows
- Download the zip file and extract the included torrent file to any folder
- Open the torrent file with any torrent client. I'm using flashget to open the torrent file.
- The download should start.
- You will have a 658,763KB ova file upon completion of downloading
If you had flashing the TP-Link MR3020 firmware to OpenWRT and now you want to restore it to the original state, here is a guide on how to make it. With this guide you will able to changing between original firmware to different version OpenWRT firmware.
- CPU Atheros AR9330
- RAM 32MB
- NAND 4MB
- Dimensions 74mm x 67mm x 22mm
- Power consumption 1.25W Max.
- There are five IO, each IO can be Input or Output
- Among the five IO, two of the IO can perform as PWM
- Among the five IO, three of the IO can perform as Analog Input
一个非常好用的免费屏幕捕获软件，下载和安装Screenshot Captor后，它必须激活。注册一个免费帐户，你就将会得到一个激活密钥。Screenshot Captor可以使用不同的方式来捕获屏幕，如图下：
- Wireless router flashed with OpenWRT. This project based on TP-LINK TL-WR1043ND wireless router.
- USB audio adapter which supported by Linux. As shown in figure below is the USB sound audio that I'm using.
Lua Socekt must be use in order to call sleep function in milliseconds.
An example to install Lua Socket to OpenWRT
opkg install luasocket
An example to sleep 10 milliseconds
Lua can only sleep/wait in seconds (not milliseconds) without install Lua Socket. Code below shows the sleep funciton.
delay = delay or 1
local time_to = os.time() + delay
while os.time() < time_to do end
Example to sleep 5 seconds
- PHP require to install lighttpd,lighttpd-mod-cgi,lighttpd-mod-fastcgi,php5-cgi,php5-fastcgi,libsqlite3, installation is complicated & consume resources.
- ser2net/socat is very simple but did not support web service.
- Lua comes as a default in openWrt and support web service. The goodies is OpenWRT using Luci for web GUI and LuCI is an embedded rapid application development framework written in Lua.
- Arduino duemilanove connected to a TP-LINK TL-WR1043ND router which flashed with OpenWRT.
- Using 16 Channel Relay Arduino Controller for the Arduino sketch
I use EasyPHP since WampServer is not working on my Toshiba notebook.
I didn't use AppServ for my projects, because the PHP version is either too old or too new that it is not suitable for my website.
Softaculous AMPPS: http://www.ampps.com/
Finally I use AMMPS since EasyPHP did not display pictures for most of the Joomla slide extensions.
- dns320_FW-202 dated 2011/11/23: ftp://ftp.dlink.com/Multimedia/dns320/Firmware/
- You can also download the beta version dated 2012/03/30, but I didn't test it.
- D-LINK DNS-320 ShareCenter.
- A working fun_plug 0.7 installing on D-LINK DNS-320 ShareCenter.
- D-LINK DNS-320 ShareCenter
- Hard Disk Configure as Volume_1: Standard as shown in figure below
If you are using Arduino (or any other TTL device) to control 4 channel relays or more, I would suggest to use ULN2803 Line Driver instead of Transistors or FETs. You can use ULN2003 which is much more cheaper if you plan to use not more than 7 channel relays.
The ULN2803 Integrated Circuit (IC) is a "Eight-way Line Driver". It allows you to interface TTL signals (5v) with higher voltage/current (50V/500ma) loads.
As shown in figure 1 and figure 2, an Arduino is control 8 relays, one using ULN2803 line driver and the other one using transistors, both circuit are equivalent.
If you are considering to test OpenWRT without a router or you don’t want to flash the router firmware over and over again. Here is the right place for you.
OpenWRT in VirtualBox is an image file run in VirtualBox. By the time I write this article, the VirtualBox & OpenWRT image version are Ver 4.1.20 and 10.03.1 respectively.
Dynamic DNS allows that your router can be reached with a fixed hostname while having a dynamically changing IP address.
Dynamic DNS is a must if you want to control your devices/network over the internet with dynamic IP address in your Local Area Network. Read this article for more about Dynamic DNS and Port Forward.
OpenWRT come with a package called luci-app-ddns but is not install by default. We must install the luci-app-ddns package in order to enable the Dynamic DNS service.
Samba is a free software re-implementation of the SMB/CIFS networking protocol, Samba provides file and print services for various Microsoft Windows clients.
First, this assumes that you already have OpenWRT installed. Read this article if you haven't upgrade firmware to OpenWRT.
Second, you must have a working USB flash drive attach to router. Read here for installing USB flash drive.
FTP is a method of transmitting or recieving files across the Internet and stands for File Transfer Protocol. This article guide you on how to enable FTP function on the OpenWRT router.
It is assumed that the router is flashed with OpenWRT. See this article if you haven't upgrade firmware to Openwrt.
WinSCP is an open source free SFTP client, SCP client, FTPS client and FTP client for Windows.
Most people use vi as the text editor during configuration of embedded device. I hate to use vi, in which I have to memorize all the commands. Whereas WinSCP is a GUI (Graphical User Interface) program where you can edit your file like notepad. Additionally you can use WinSCP to download and upload files including settings of permission.
TP_LINK TL-WRT1043ND router and OpenWRT is use in this tutorial.
Most of the time, I use both WinSCP (Windows Secure CoPy) & PuTTY together, especially when work with Openwrt and DD-Wrt. It is very troublesome to start each program individually. So I decided to integrate PuTTY into WinSCP.
WinSCP is an open source free SFTP client, SCP client, FTPS client and FTP client for Windows.
PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms.
I would suggest to download the portable version for both WinSCP & Putty. With the portable version, you can easily copy WinSCP & PuTTY from one computer to another computer without erase the settings.
Here is the link for partable WinSCP & Putty:
My previous article Control Arduino via PHP (EasyPHP) control Arduino from a computer with web server. Another article Control Arduino with TP-Link TL-WR1043ND Router which the Arduino is connecting to the router, but it is not safely to control over the internet.
Before reading this article, you may want to know EasyPHP web server that I setup previously, please refer this page http://diy2u.weebly.com/1/post/2012/07/winxp-easyphp-web-server.html.
- TL-WR1043 router IP address: 192.168.1.1
- Device to be control (IP address) : 192.168.1.49
- Device to be control (Port) : 455
1. Delphi 7
3. Zip Master
4. Cool Tray Icon
Compiled executable files: http://www.divshare.com/download/18621448-952
Zip Master: http://www.divshare.com/download/18621506-771
Cool Tray Icon: http://www.divshare.com/download/18621459-5d2
EhLib: http://ehlib.com/ (This is not a free component)
This is a program for those who want to print a lot of cheques.
Software & Components for Developing
1. Delphi 7
2. Fast Report
How to Install
- Download the Compiled Executable Files program & save it to any folder.
- Run ChequeP.exe
How to use
- Run Cheque.exe to open main window
- Click on New button to prepare first batch of cheque.
- Now you can enter cheque particulars from the main window
- You can enter as many cheques as you want before print
- Click on Print Current button to print selected cheque
- Click on Print All button to print all cheques
- Click New button again to prepare next batch of cheque, all existing cheque particulars is backup-ed
- Tracking button is use to display all cheque particulars being enter previously. The top empty row is use for filtering
- Design button is use for cheque print out design
- Payees button is use to enter payees information so that payees name can be select from main window
The Arduino Duemilanove (not Arduino Uno) is control by a computer over the network or internet via PHP. This article assumed that you already install WAMP web server & Arduino driver in your computer.
My Arduino Duemilanove is connecting to the USB port of my computer, the USB serial com port is detected as COM4.
I had do a research before I stick into one particular web server software, here you can get some web server information. After study some post from internet & tested myself. Finally EasyPHP is my choice.
I start using EasyPHP from version 5.3.9. Now it is EASYPHP 12.0 and there is three different PHP version including in EASYPHP 12.0:
Original project is on http://www.circuitcellar.com/avr2006/winners/AT3296.htm published in AVR contest 06 by Steven Savage. But the link is not available any more.
The interface plugs into a PS2 keyboard port on the PC and accepts commands from the infrared remote. I'm using an ordinary DVD remote (38KHz) to control my computer.
The original schematic is not correct, I had make the correction for PC Data & PC Clock of SV1.
I choose Android 2.3 because I own a Samsung GALAXY Y (S5360) hand phone which preloaded with Android 2.3. I always test the applications on my computer before I download to the hand phone.
Fun_plug is a collection of applications compiled and packaged by fonz. fun_plug is install on top of D-Link firmware. It is much more powerful than the D-Link original firmware. The following modules is install by default:
- Lighttpd – a lightweight HTTP server for hosting web pages on the NAS
- OpenSSH – Secure Shell (which you already used to login to the NAS)
- Mediatomb – a UPnP media server (alternative to the one provided by Conceptronic)
- NTP – Network Time Daemon (to synchronize the NAS’ clock with accurate time servers on the Internet)
- UNFS3 – user-space NFS server (a file server protocol which is often used by computers running Linux)
- NFS-Utils – NFS server (efficient file transfer and synchronization utility)
This guide is based on fun_plug 0.5 & D-Link DNS-320 ShareCenter and assumes an SATA hard disk is installing to the DNS-320 ShareCenter formatted as ext3.
- WinSCP is an open source free SFTP client, SCP client, FTPS client and FTP client for Windows. Its main function is file transfer between a local and a remote computer. I use this sofware to transfer files from my WinXP computer to the router.
- PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms. I use this software to SSH to router & perform flashing command.
- Open up a browser and navigate to http://192.168.1.1 (you should use your own IP)
- Login in to DD-WRT.
- Goto Services tab and enable SSH
- Goto Administration/Management and enable SSH
Copy firmware file to Router
- Unzip the downloaded firmware file to any folder, now you have wr1043nv1_en_3_13_10_up(120210).bin in your computer
- Run WinSCP
- Transfer wr1043nv1_en_3_13_10_up(120210).bin to /tmp of router
- You may want to rename the firmware filename to shorter one, I renamed it to a.bin
- Run PuTTY (SSH to router)
- Enter command as blow
mtd -r write a.bin linux
The router will reboot upon flashing successfully
This tutorial show you how to install PHP on the TP-Link TL-WR1043ND router.
You can refer to my previous post http://ediy.com.my/index.php/blog/item/2-openwrt-on-tp-link-tl-wr1043nd-router to upgrade firmware to OpenWRT.
Here is the link. You must download both factory-to-ddwrt.bin & tl-wr740nv4-webflash.bin.
1. Enter 192.168.1.1 from IE to login to the router. Select System Tools then click on Firmware Upgrade.
2. Choose factory-to-ddwrt.bin which you download to your computer previously.
3. Click Upgrade button to start firmware upgrading.
4. The router will restart automatically after completed upgrade.
Screen shot for upgrade firmware: http://www.divshare.com/download/18183284-fed
5. Login to router again. Now DD-WRT prompt you for changing user name & password.
6. Enter the new router user name & password then click on Change Password button.
7. Enter new user name & password to login to the router.
8. Click on Administration from DD-WRT menu then select Firmware Upgrade.
9. Choose tl-wr740nv4-webflash.bin & click on Upgrade button
The router will upgrade to DD-WRT dated 03-19-12-r18777 which is much more powerful than before.
The Arduino is plug into the USB port of TP-LINK TL-WR1043ND allow the router to control the Arduino.
After upgrade router firmware to Openwrt, Login to it & change the password in order to enable SSH.
SSH to the Router
- Run PuTTy
- Enter 192.168.1.1 for Host Name (this is the default IP for Openwrt set in TL-WR1043ND)
- Change connection type to SSH
- Click on Open button
- Enter your router username (username is root if you didn't change it)
Enter your password
This is a tutorial to show image button on webpage, it use CSS.
See http://www.w3schools.com/css/default.asp for more information.
Below is an example to show two image buttons. <div class="img"> is the CSS, it is not define in this example, but it is working without any CSS style.
There is few ways to show image button on the webpage. Here I use <a.
|<a target="_parent" href="/newWebPage.php"><img src="/images/light_on.png" alt="Light" /></a>|
Above example shows an image with event. newWebPage.php will open if user click on the image.
- target="_parent" means open a new page when user click on the image. See http://www.w3schools.com/tags/att_a_target.asp for more information
- href= is the action. It will open newWebPage.php when user click on the image.
- img src= show the image on the page. It support many formats such as png, jpg, gif, bmp & others. I often use png & gif (animation) format since both support transparent.
- alt= will show the text if the associated image is not exist.
Note: IE8 and Google Chrome show output differently. There is a rectangular frame around the image if loaded with IE8, while Google Chrome did not show any frame.
See http://www.w3schools.com/tags/tag_a.asp for more information on how to use <a
Below example shows four images aligned in horizontally:
<a target="_parent" href="/newWebPage.php"><img src="/images/light_on.png" alt="Light" /></a>