SunnyShine is a solar plant logging system, based on a linux Fox Board box.
This box communicates with the solar inverter by means of serial RS485 communication.
This box serves also as a webserver to read out the data.
Acme Systems homepage : http://www.acmesystems.it/
FoxServe homepage : http://www.foxserve.it/
Schüco homepage : http://www.schueco.com/web/de-en/
SMA homepage : http://www2.sma.de/en/
Putty wiki : http://www.gevawebsolutions.com/wiki/index.php?title=Putty
Contents
About
The purpose of this project was to develop a low cost monitoring system, to read out the most important data from our solar plant at home.
The data should be stored in a SQLite database, and accessible via a webinterface. Also, some diagnostics data should be made visible.
Having a wireless lan at home, made it also interesting to have an interface on the Pronto Professional remote.
The FOX Board LX832
|
DescriptionFOX Board runs a real Linux operating system (not a uC Linux) on an ETRAX 100LX microprocessor, a 100MIPS RISC CPU made by Axis (http://developer.axis.com).FOX Board has two main field applications:
Two USB 1.1 host interfaces can be connected to USB memory stick, hard disk, webcam, modem, Wi-Fi or Bluetooth dongle, ADSL adapter, Serial converter, etc. Through the 10/100 ethernet interface it is possible to have access to the internal Web server, FTP server, SSH, Telnetd and the complete TCP/IP stack. Two 40 pins sockets step 2.54mm (0.1") are available to plug the board on an application specific PCB (see an example...) or to connect an extension interface (see an example...). On these pins are available a lot of signals as explained below. DocumentationA lot of articles, application notes, tutorials, how tos and examples are available from the FOX Board Documentation Index. |
||||||||||||||||||||||||||||||
|
FOXZB is an add-on board for the FOX Board equipped with:
FOX Board LX and FOXZB add on board |
From the devboard directory type:
# make menuconfig
Enable the option:
Driver settings --> [*] Enable MMC Support
Save and exit then, to generate the fimage, type:
# ./configure ... # make
Flash the FOX Board with the new image (see How to reflash a FOX Board) and login to it with root and pass.
Insert the MMC/SD card inside the holder then mount it typing:
# mount /dev/mmc0 /mnt/0 -t vfat -o noatime,sync
Now you could see the content of the MMC/SD card on /mnt/0 directory typing:
# ls -l /mnt/0
Go inside the SDK root folder (i.e. /devboard-R2_01) and type:
# source init_env ... # make kernelconfig
Select the item:
Driver for built.in interfaces --->
Configure the RTC section parms like on this screenshot:
[*] Real Time Clock Support
RTC chip (DS1302) --->
[*] DS1302 RST on Generic Port
(2) DS1302 RST bit number
(1) DS1302 SCL bit number
(0) DS1302 SDA bit number
(0) DS1302 Trickle charger value
Exit and save the configuration then type:
# make ...
Flash the FOX Board with the new image (see How to reflash a FOX Board) and login to it with root and pass.
To read the FOX board Linux system clock and date the right command is:
date
To program a desired value of clock and date as system clock and date in the FOX Linux system the command is:
date MMDDHHMMYYYY Example: 13:50 of May 18th 2005 date 051813502005
To store in permanent way the system clock and date just set, in the RTC chip so to reload it at every power on cycle, type the following command:
hwclock -w
How to use the RS485 interface
This article shows how to configure the serial port ttyS3 on the FOX Board LX to operate as RS485 half duplex interface
The only serial port enabled to work as RS485 is the /dev/ttyS3.
To use correctly the RS485 interface chip we need to configure the serial port driver
To enable the RS485 support use make kernelconfig command and enable:
Drivers for built-in interfaces ---> [*] RS-485 support
then generate the new flash image and transfer it to the FOX Board LX.
TO DO ...
TO DO ...
FOX Case is a plastic enclosure designed to hold the FOX Board and one add-on board.
![]() FOX Case with the FOX Board LX832 mounted ![]() FOX Case with extra FOXZB add-on board mounted |
Features
|
These manuals show you how to use the RS485 module of SMA.
Piggyback Cataloge : http://test.sma.de/dateien/249/CPCI2005_engl_S.28-31.pdf
Retrofitting the communication interfaces : http://download.sma.de/smaprosa/dateien/1360/PB-NR-IXX073014.pdf
Piggyback Technical Manual : http://test.sma.de/dateien/249/Piggy-Backs-11-FE3604.pdf
Metrics and Signals of SMA Piggyback : http://test.sma.de/dateien/249/Piggyback-11-YE4004.pdf
TO DO ...
This software represents an implementation of the “SMA Data Protocol”, which can be used to communicate with SMA inverters and other SMA devices. The software is available entirely as source code and was developed with the “C” programming language.
It has been designed to allow quick and easy porting to other operating systems.
Currently, implementations are available for the following systems: Linux, Windows32, WindowsCE, MacOS X, RTKernel32, AmigaOS, ...)
YASDI is available as a library (under Linux: Shared Objects (“.so”), under Windows: DLL). Hence, YASDI is not an independent application, but it can be used to develop independent applications that can communicate with SMA devices without the need to implement the actual protocol.
RS232/RS485/Powerline are currently available as communication interfaces.
It supports the process of requesting current measured values and changing parameters settings.
The readout of measurement values (archive values) recorded by a SunnyBoyControl or SunnyBeam is unfortunately not possible.
Download YASDI Source Code : http://www2.sma.de/fileadmin/documents/binaries/v1_7_2/yasdi-1-7-2-src.zip
Download YASDI compiled for Windows 32 : http://www2.sma.de/fileadmin/documents/binaries/v1_7_2/yasdi-1-7-2-win32.zip
Download YASDI documentation as PDF : http://www2.sma.de/fileadmin/documents/binaries/dokumentation_yasdi.pdf
SMA Data Protocol Description : http://test.sma.de/dateien/1995/SMADAT-11-ZE2203.pdf
No-IP™ homepage : http://www.no-ip.com/
No-IP™ provides dynamic DNS for your dynamic IP.
No-IP™ provides a free redirection to the webserver we run on the FOX board.
On the FOX board, a small client program (noip2) is running, which sends the IP address of the FOX board to the No-IP™ server every 30 minutes.
Linux / BSD / Unix Dynamic Update Client Download : http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
The Web Interface is build in PHP.
Interfacing with the solar logging data is done in 2 ways, either with SQLite commands, directly to the SunnyShine database,
or with remote procedure calls [RPC], to read the solar inverter data via RS485 serial communication.
The web interface consists of several pages, giving information about the daily, weekly, monthly and yearly energy yield of the solar plant.
Other pages give a more detailed insight in the solar inverter data collection, show you some pictures and the location of the solar plant.
A configuration page is provided to input user and solar plant specific data once, at startup of the logging system.