Date

Rev

Status

Author

Last Change

 

2008-05-05

0.1

Draft

Michael Gries

Initial Draft

 

2008-06-01

1.0

Release

Michael Gries

Implementation Step 1 - Basic

 

2008-10-03

2.0

Release

Michael Gries

Implementation Step 2 - SMS

 

2008-11-09

3.0

Release

Michael Gries

Implementation Step 3 - FTP

 

2008-12-30

3.1

open

Michael Gries

update – not yet released

 

Source Document

TC65 Application AF104.doc

 

 

Preface

 

This document is for testing purposes only.

 

 

 

Siemens TC65 Terminal

 

 

 

 

Table of Contents

1.      Introduction.. 4

1.1.       Purpose. 4

1.2.       Scope. 4

1.3.       References. 4

1.4.       Verwendete Literatur 4

1.5.       Roles and Responsibilities. 4

1.6.       History. 5

1.7.       Features. 6

1.8.       Implementation Steps. 8

1.9.       Periodical Tasks. 9

2.      Hardware. 9

2.1.       RS232 Interface. 9

2.2.       GPIO Interface des TC65 Terminal 11

2.2.1.        GPIO Buchse - Signalzuordnung. 13

3.      Integrated Development Environment (IDE) 14

3.1.       Verwendete IDE - NetBeans 5.5.1. 14

3.1.1.        Einstellungen für Projekt 14

3.1.2.        JAD-Datei (AF104.jad) 17

3.1.3.        Debugging. 18

3.1.4.        Trace. 21

4.      Software. 21

4.1.       Allgemeines. 21

4.2.       MIDlet 23

4.3.       Funktionen.. 23

4.3.1.        Flussdiagramm (MIDlet) für AF104 mit TC65 Terminal 23

4.3.2.        TC65 Intialisierung. 25

4.3.3.        Astro Funktion.. 25

4.3.4.        Steuerung durch SMS-Empfang. 26

4.3.5.        RTC Batterie-Spannung Abfrage. 27

4.4.       Internet-Dienste. 31

4.4.1.        SMS-Dienst 31

4.4.2.        FTP-Dienst 31

4.4.3.        HTTP-Dienst 31

5.      Zubehör. 33

5.1.       Terminalprogramme. 33

5.1.1.        ZOC - Script Delete SMS.. 33

5.2.       Hardware Zubehör 37

5.2.1.        GSM Prepaid Karten (FONIC) 37

5.2.2.        Anschlusszubehör für GPIO Port 39

5.2.3.        Spannungsversorgung TC65 Terminal 40

5.2.4.        Innenbeschaltung TC65 Terminal 42

5.2.5.        Astro Funktion.. 44

5.3.       Kabeladapter RS 232. 47

5.3.1.        Modifikation RS-232 Kabel 47

5.3.2.        RS-232 Kabel für JAVA Autostart mittels DTR.. 48

5.4.       Block Diagram TC65 Terminal 50

5.5.       GPIO - Modul 52

5.5.1.        Stromlaufplan GPIO - Modul 52

5.5.2.        Platine GPIO - Modul 55

5.5.3.        Stückliste GPIO – Modul 57

5.5.4.        Ersatzteile / Spare Parts. 58

6.      Anhang.. 58

6.1.       Datenblätter (externe Hardware zum TC65 Terminal) 58

6.1.1.        ULN2003. 58

6.1.2.        PC 900 - Optokoppler 60

6.1.3.        Kapazitivschalter – Mentor 63

6.1.4.        Klingeltrafo. 65

6.1.5.        I²C-Portexpander 66

6.1.6.        Externer Thermodrucker 67

6.2.       Data Presentation.. 73

7.      Java AF104 Application Programming Interface (API) 76

7.1.       Javadoc Einstellungen.. 77

7.2.       Example – Astro functionality. 78

7.3.       Drucker Einstellungen für Ausdruck diverser Dokumentationen.. 81

7.4.       Javascript (Examples) 82

8.      Anhang.. 86

8.1.       Versuchsaufbauten.. 86

8.2.       Installationsplan.. 88

 

 


1.              Introduction

Hypercom internal project of Global Quality Management.

1.1.         Purpose

This document covers stand-alone java application development and testing based on Siemens wireless toolkit of TC65 module

1.2.         Scope

For internal testing and Quality Assurance purposes. Non commercial application.

 

1.3.         References

Siemens documentation

 

[1]   TC65 Terminal Hardware Interface Description 01.041

[2]   TC65  AT Command Set 02.000

[3]   TC65 Terminal Release Notes 02.000

[4]   TC65 JAVA User’s Guide

 

 

1.4.         Verwendete Literatur

[5]   Java 2 - Praxis der objektorientierten Programmierung, Dirk Louis, 2004, ISBN 3-8272-6271-2

[6]   Java 2 - Markt & Technik, Roger Cadenhead, 2001, ISBN 3-8272-6014-0

 

 

1.5.         Roles and Responsibilities

Only these responsibilities of a given role is described which relates to this project.

 

Role
(Stakeholder)

Responsibility

Person

Project Manager

 

Michael Gries

Hardware Support

 

Klaus Bachmann

Java Implementation

 

Michael Gries

Testing

Only documentation. Clearness, Completeness, etc.

Sebastian Gries

Internet Services

e-mail, GPRS

Thomas Bleckmann

GPRS Antenna

GPRS related measurements, GPRS hardware

Thomas Grundler

UML

 

Hartmut Stippich

Sensoric

 

Uwe Voigtsberger

Modular Printer

 

Dr. Steffen Bug

 


1.6.         Milestones /  History

Date

Item

Remarks

2008-05-05

TC65 Terminal (Testversion)

Leihweise von Steffen Bug.

 

 

 

 

 

 

 

 

 

2008-08-10

Debug Funktionalität

Umleitung System.out von default ASC1 auf ASC0 per at^scfg Befehl (Userware/Stdout)

 

 

 

 

 

1.7.         Features

Item

Function

Requirements

0

Inbetriebnahme

Einbau im Installationsschrank; Steuerungsmöglichkeiten über serielle Schnittstelle; Abfrage GSM Parameter

0.1

Java Autostart

nach Spannungsverlust TC65 terminal

1

Lichtsteuerung bei Abwesenheit

Flurlicht 1.OG; Mindestens eine Sequenz  Ein-Ausschaltzeit. fest programmiert.

1.1

wie 1; jedoch Erweiterung

Flurlicht EG

1.2

Astrofunktion

Jahresverlauf Sonnen- Aufgangs-Untergangszeiten

1.3

Dämmerungsabhängig

Steuerung durch Dämmerungsschalter als zusätzliches Eingangssignal

2

Außenbeleuchtung

Ein-Ausschalten durch GSM Anruf (beliebiger rufender Teilnehmer. Aktivierung durch Rufzeichen (keine Verbindungskosten.

2.1

wie 2; jedoch automatisches Ausschalten

Ausschalten nach fest programmierter Zeit (3min.)

2.2

wie 2.1, jedoch

Ausschaltzeit per SMS programmierbar

 

2.3

wie 2, jedoch

abhängig von Astrofunktion

Einschalten nur bei Aktivierung nach Astrofunktion (item 1.2)

2.3

wie 2, jedoch

Helligkeitsabhängig

Einschalten nur bei Aktivierung nach Dämmerung (item 1.3)

2.4

wie 2, jedoch

eingeschränkter  Teilnehmerkreis

Liste bis zu 10 Tln-Nummern, für die eine Aktivierung erlaubt ist.

3

Aufzeichnungen

 

3.1

Log in Flashspeicher

 

3.2

Log auf  Drucker

Thales Wall Mounted Printer; zus. Hardware

 

4

Haustür-Kommunikation

 

4.1

Klingelerkennung

passiv (Wechselstromerkennung) an bestehender, klassischer Klingelinstallation.

4.2

Klingelsteuerung

aktiv (direkte Ansteuerung des Klingelknopf über 24V Gleichspannung  (alternativ Funk); damit Aktivierung mehrerer Gongs möglich.

4.3

Gesprächsfunktion

per GSM Ruf; zusätzliche Hardware

 

 

 

 

1.8.         Implementation Steps

#

Function

Item

Remark

section

Date

0

TC65 Terminal

 ---

über Dr. Steffen Bug

 

2008-05-05

1

Projektstart

0

SPI_080621

 

2008-06-21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

GPIO-Hardware Dokumentation

-

Dokumentation
(Schaltplan / Layout)

5.4

2008-09-11

8

TC65-Handbücher als Ringbuch

-

Dokumentation

7.1

2008-09-12

9

Berührungsloser Schalter für Astro Funktion

2.3

Hardware
(Kapazitiv-Sensor)

4.3.3

2008-09-13

10

Kabel-Adapter
Java Autostart (DTR)

0.1

Hardware
(RS-232 Stecker)

5.3.2

2008-09-15

11

AF104 Dokumentation als HTML auf Server

-

Dokumentation
(unter www.gries.name)

 

2008-09-16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.9.         Service and Maintanance

See below

 

 

No.

Task

Due date

Date impl.

 

check prepaid account  periodically:

use ATD*101#; with AT response Listener  (+CUSD)

2008-00-00

2008-00-00

 

USSD Test:

use ATD*135#; to get own phone number via network

2008-

 

 

 

 

 

 


 

2.              Hardware

2.1.         RS232 Interface

The following picture is extracted from [1]:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2.         GPIO Interface des TC65 Terminal

 

 


 

2.2.1.      GPIO Buchse - Signalzuordnung

3.              Integrated Development Environment (IDE)

There are several IDE which are recommended by Siemens SDK for a usage with Siemens TC65 Terminal

 

·         Eclipse 3.x          http://www.eclipse.org/

·         NetBeans 5.5x   http://www.netbeans.org/

·         JBuilder                          http://www.codegear.com/products/jbuilder

 

 

3.1.         Verwendete IDE - NetBeans 5.5.1

 

Beschreibung siehe ….

 

3.1.1.      Einstellungen für Projekt

 

 

 

 

 

 

 

 

 

Das TC65 Terminal unterstützt nur ein MIDlet zur Laufzeit.

Die entsprechende Klasse (extends MIDlet) muss in den Projekt-Eigenschaften wie folgt zu sehen eingetragen werden.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Die Dateinamen für das JAD-Datei und  dem JAR-Archiv orientiert sich entsprechend dem Projektnamen und muss in den Projekt-Eigenschaften wie folgt eingetragen werden.

 

 


3.1.2.      JAD-Datei (AF104.jad)

 

Author: Michael Gries

IMEI-AF104: 355632005221909

IMEI-TC65T: 355632005217881

MIDlet-1: AF104,,remoteAccess.AF104

MIDlet-Description: TC65 application for AF104

MIDlet-Info-URL: http://www.gries.name/AF104

MIDlet-Jar-Size: 43699

MIDlet-Jar-URL: AF104.jar

MIDlet-Name: AF104

MIDlet-Vendor: (C) by Michael Gries

MIDlet-Version: 1.0

MicroEdition-Configuration: CLDC-1.1

MicroEdition-Profile: IMP-NG

 

 

 

 

 

 

 

 

 

 

 

3.1.3.      Debugging

 

Bislang konnte das Debugging nicht in der NetBeans IDE selbst aktiviert werden.

 

Verwendeter Workaround:

Konfigurationsänderung In TC65: at^scfg=“Userware/Stdout“,“ASC0“

RUN NetBeans Applikation

start Hyperterminal nachdem NetBeans Daten *.jar Datei in TC65 geladen hat

 

Ggf. ZOC Terminal verwenden, da Hyperterminal teilweise die alten Daten nach dem scrollen nicht richtig anzeigt. ZOC schließt nicht COM-Port korrekt. Daher kurz COM-Port im  Hyperterminal Programm aktivieren und desaktivieren.

 

 

 

 

 

 

 

 

AT command

parameter

description

response  / URC

 

 

URC (Unsolicited Result Code) modem antwort nach dem einschalten

^SYSSTART

 

 

 

 

AT

 

schnittstelle empfang testen

OK

 

 

 

 

ATI

 

modem kennung abfragen

… TC65 … OK

 

 

 

 

AT^SPIO=

1

GPIO aktivieren

 

AT^SCPIN=

0,8

schliessen, pin9 (schiessen vor jeder SCPIN operation)

 

AT^SCPIN=

1,8,0

öffnen, pin9, eingang

 

AT^SCPOL=

1,8

pollen aktivieren, pin9

 

 

 

 

 

 

 

URC pin9, vcc-pegel

^SCPOL: 8,1

 

 

URC pin9, gnd-pegel

^SCPOL: 8,0

 

 

 

 

AT^SCPIN=

0,4

schliessen, pin5

 

AT^SCPIN=

1,4,1

öffnen, pin5, ausgang

 

AT^SGIO=

4

abfrage pin5 pegel

^SGIO: 0

AT^SSIO=

4,1

setzen pin5, vcc-pegel

 

AT^SGIO=

4

abfrage pin5 pegel

^SGIO: 1

 

 

 

 

AT^SJRA=

a:/test.jad

explicit im flash Speicher vorhandenes Test-programm starten

 

 

 

at^sjra=a:/ControlSPS.jad

 

 

 

 

 

 

 

"02/01/01,00:14:38"

 

 

 

 

 

 


 

AT command

parameter

description

response  / URC

 

 

URC (Unsolicited Result Code) modem antwort nach dem einschalten

^SYSSTART

 

 

 

 

AT

 

schnittstelle empfang testen

OK

 

 

 

 

ATI

 

modem kennung abfragen

… TC65 … OK

 

 

 

 

AT+CCLK=

"02/01/01,00:14:38"

AT+CCLK="08/06/20,14:59:55" Set Real Time Clock

 

 

 

 

 

AT+CSQ

 

 

Signal Quality

 

 

 

 

 

 

 

 

 

 

 

 

 


3.1.4.      Trace

 

 

^SYSSTART        

at 

OK 

ati  

SIEMENS      

TC65   

REVISION 02.000              

 

OK 

at^spio=1        

OK 

at^scpin=0,8           

OK 

at^scpin=1,8,0              

OK 

at^scpol=1,8           

OK 

 

^SCPOL: 8,1          

 

^SCPOL: 8,0          

 

at^scpin=1,4,1

OK

at^sgio=4

^SGIO: 0

 

OK

at^ssio=4,1

OK

at^sgio=4

^SGIO: 1

 

OK

 

 

 

 

 

 

 

4.              Software

4.1.         Allgemeines

AT Parser

Es stehen nur drei AT Parser zur Verfügung.

d.h ein Konstrukt der Form

 

TCManager tc65 = new TCManager();

 

in verschiedenen Klassen ist daher nur begrenzt möglich

 

Vergl. Trace:

 

 

Lösung:

Die eigentliche Klasse um die zusätzliche Klasse erweitern (Vererben):

 

public class TC65Manager extends GPIO { ; }

 

 

 


4.2.         MIDlet

Quelle: „http://de.wikipedia.org/wiki/MIDlet“ / Stand: Juli 2008

 

Ein MIDlet ist eine Software für ein Mobiltelefon oder vergleichbares mobiles Gerät (Smartphone), welches in der Programmiersprache Java geschrieben ist und dem Mobile Information Device Profile (MIDP) entspricht. MIDP ist wiederum ein Teil der Java Platform Micro Edition (Java ME) und eines der Profile der Connected Limited Device Configuration CLDC.

Mehrere MIDlets können zu einer MIDlet-Suite zusammengefasst werden, so dass sich die einzelnen MIDlets Ressourcen und Programmcode teilen können.

Viele der existierenden kostenpflichtigen Spiele für Mobiltelefone sind MIDlets auf Embedded-Java-Basis. Die kostenlosen Anwendungen reichen von kleinen E-Book-Readern über Kalender- oder Telnet-Clienten bis hin zu einem BASIC-Interpreter.

 

MIDlet Lebenszyklus

MIDlets können sich, nachdem sie gestartet wurden, in mehreren Zuständen befinden und zwischen ihnen wechseln. Die Java Application Management Software (AMS) steuert den Lebenszyklus (engl. "life cycle") eines MIDlets. Dieser Programmmanager ist u. a. dafür verantwortlich, MIDlets zu initialisieren, zu starten, zu pausieren, wiederaufzunehmen und zu beenden. Demnach kann sich ein MIDlet in vier Zuständen befinden: Loaded, Paused, Active und Destroyed.

Lebenszyklus eines MIDlets

Lebenszyklus eines MIDlets

Nachdem ein MIDlet geladen wurde, beginnt es sein Leben im Zustand Loaded/Paused. Der Programmmanager ruft startApp() auf, und das MIDlet wechselt in den Zustand Paused. Es gibt drei weitere Möglichkeiten in den Zustand Paused zu gelangen. Erstens, wenn der Programmmanager die Methode pauseApp() aufruft. Dies kann z. B. durch einen eingehenden Telefonanruf erfolgen. Zweitens, wenn das MIDlet durch Aufruf der Methode notifyPaused() sich selbst pausiert. Drittens, wenn startApp() eine MIDletStateChangeException erzeugt. Der Programmmanager ruft diese Methode entweder nach der Initialisierung oder später auf, um wieder in den Zustand Active zu gelangen. Befindet sich ein MIDlet in Paused, sollten die laufenden Prozesse des MIDlets gestoppt werden, damit die Applikation im Vordergrund alle Ressourcen zur Verfügung gestellt bekommt, es zu keinen Ressourcekonflikten kommt und die Batterie nicht unnötig belastet wird. Aktive MIDlets (Active) führen die ihnen erteilten Aufgaben aus und beanspruchen dadurch Ressourcen für sich. Der Zustand Destroyed kann entweder von Paused oder Active erreicht werden. Um das MIDlet zu beenden, ruft der Programmmanager destroyApp() mit dem boolean-Argument unconditional auf. In dieser Methode können letzte Befehle vor der endgültigen Terminierung durchgeführt werden, wie z. B. reservierten Speicher freigeben oder geöffnete Verbindungen schließen. Wenn der Programmmanager sich entschließt, das MIDlet zu beenden, dieses jedoch gerade wichtige Funktionen ausführt, kann das Setzen des Parameters unconditional auf false eine erzwungene Terminierung verhindern. Eine Garantie dafür gibt es allerdings nicht. Wie darauf reagiert wird, ist abhängig vom Gerät. In der Regel wartet der Programmmanager einige Zeit und versucht dann, das MIDlet erneut zu beenden. Ist unconditional gleich true, wird das MIDlet erzwungen beendet, ungeachtet der Bedeutung laufender Prozesse.

 

4.3.         Funktionen

4.3.1.      Flussdiagramm (MIDlet) für AF104 mit TC65 Terminal

 

wird direkt von Application Management Machine aufgerufen

 

u.a. URC Meldungen des TC65 Aktivieren

Trace-Funktionalität aktivieren

 

spezielle Eigenschaften in der AF104.jad Datei abfragen zwecks Prüfung ob autorisiertes TC65 Terminal (IMEI Abfrage)

 

 

Zeitgeber Aktivieren: u.a. periodischer Timer alle 24h um 04:00 AM.

 

 

z.Zt. kein Power Down Modus, d.h. Polling Betrieb.

 

 

 

GPIO Eingänge abfragen

SMS Anfragen prüfen und ggf. abarbeiten

eingehende Anrufe prüfen und ggf. bearbeiten

 

 

 

prüfen ob polling-Betrieb

gesteuert über TC65_TERMINATE (Boolean)

 

 

 

 

SMS-Benachtigung an ADMIN falls Ablauf durch Programm-Fehler beendet wird.

gesammelte Trace-Daten in Datei des TC65 Flash Speichers sichern.

GPIO-Ausgänge zurücksetzen.

 

 

 

 

 

 

Ausgabe-Info das MIDlet sich im Status ‚PAUSED’ befindet

 

 

 

 

 

 

 

4.3.2.      TC65 Intialisierung

 

a) Änderung Std-Ausgabe von ASC1 auf ASC0 : AT^SMFG=Userware/Stdout,ASC0

 

b) erweitertes Error-Reporting über ASC0: AT+CMEE=2

at+cmee=2

OK

ati?

+CME ERROR: unknown 

 

c) URC Signalisierung auf ASC0 : AT+CMER=2

 

 

4.3.3.      Astro Funktion

Ähnlich der Astro-Funktion einschlägiger Hersteller von Jalousie-Schaltern ist eine Funktion zu implementieren, die vom Tageslicht der jeweiligen Jahreszeit abhängige Schaltfunktionen anbietet (z.B. Außenlicht nur bei Dämmerung/Dunkelheit; Flurlicht bei Abwesenheit, Weihnachtsbeleuchtung, etc. ).

 

Funktionalität soll in einer eigenen Klasse Astro realisiert werden.

 

Die Berechnungsgrundlage ist Kapitel Astro Funktion zu entnehmen.

 

Schaltverhalten:

Die Astro Funktion ist standardmäßig eingeschaltet. Sie soll generell mittels SMS Zu- bzw. Abschaltbar sein.

 

Einzelfunktionen wie Beleuchtung bei Abwesenheit soll getrennt schaltbar sein (GPIO Porteingang).

 

 

 


4.3.4.      Steuerung durch SMS-Empfang

Signalisierung mittels URCs aktivieren

 

AT+CMGF   Select SMS message format

TEXT mode einstellen (default ist PDU mode) 

AT+CMGF=1

 

AT+CNMI   New short Message Indication

URC directly to TE , SMS stored in TA with URC indication of index  

at+cnmi=3,1

 

Erkennung SMS-Empfang mittels URC

URC: +CMTI: "MT",29

 

Aufruf und Auswertung SMS des  Inhalts

AT+CMGR=29 (für gelesen Status)

+CMGR: "REC READ","+491702237454",,"08/08/19,14:22:11+08"

AUSSENLICHT

OK

 

AT^SMGR=30 (für ungelesen Status)

+CMGR: "REC UNREAD","+491702237454",,"08/08/19,14:22:11+08"

AUSSENLICHT

OK

 

 

angeforderte Funktion ausführen

tc65.setAussenlicht();

 

 

Trace:


4.3.5.      RTC Batterie-Spannung Abfrage

Abfrage einmal pro Tag (Klasse Remote.Access.Taeglich)

 

Aufgabe:

Überwachung der Batterie Spannung und Benachrichtigung, sobald ein bestimmter Spannungswert unterschritten wird.

 

SMS Benachrichtigung bei Unterschreitung von 2400mV.

SMS-Inhalt:

 

„Low RTC supply: xxxxmV, RTC: yy/mm/dd,hh:mm:ss“

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Quelle: http://www.renata.com

 

 

 

 

 

4.3.5.1.  Type CR1/2 AA


4.4.         Internet-Dienste

Das T65Terminal unterstützt alle gängigen Kommunikationsdienste wie

·         SMS

·         FTP

·         e-mail

·         HTTP

 

4.4.1.      SMS-Dienst

 

Im Implementation Step 1 soll zunächst der SMS-Service für automatische Statusmeldungen, manuelle Statusabfragen und zur gezielten Änderung von Betriebsparametern Anwendung finden.

 

Da SMS die Hauptlast der Internet Dienste darstellt wurde der Service-Anbieter so gewählt, daß vorrangig der SMS-Service kostengünstig ist. Bei Projektstart war dies FONIC Prepaid mit 9 Ct pro SMS.

 

4.4.2.      FTP-Dienst

Im Implementation Step 2 sollen verschiedene Betriebsparameter auf www.gries.name grafisch dargestellt werden. Um die Übertragungskosten möglichst minimal zuhalten sind folgende Randbedingungen vorgesehen:

1.     Übertragung 1x pro Tag

2.     Übertragung nur der Einzelwerte auf den Server (FTP-Append funktion)

 

Die Kosten für pro Kbyte betragen laut Dienstanbieter:

 

Nachtrag Dec-2008: im Praxistest liegen die Kosten pro Übertragung (pro Tag) bei 2 Ct.

 

4.4.3.      HTTP-Dienst

Service_Profile  1 (HTTP):

^SISS: 0,"srvType",""

^SISS: 1,"srvType","Http"

^SISS: 1,"conId","0"

^SISS: 1,"alphabet","0"

^SISS: 1,"hcMethod","0"

^SISS: 1,"hcContLen","0"

^SISS: 1,"hcAuth","0"

^SISS: 1,"hcRedir","1"

^SISS: 1,"address","http://www.gries.name/SSI.shtm"

^SISS: 1,"hcContent",""

^SISS: 1,"hcProp","Accept-Encoding: identity"

^SISS: 1,"user",""

^SISS: 1,"passwd","*****"

^SISS: 1,"hcUsrAgent","MC75/4.1"

^SISS: 1,"tcpMR","10"

^SISS: 1,"tcpOT","4119" "

 

 

Log-File (Auszug):

Quelle: http://www.gries.name/logs/access.log.current (über http://www.gries.name/Michael/Gries.shtm )

 
212.218.229.2 - - [15/Sep/2008:09:02:01 +0200] "GET /feed.rss HTTP/1.0" 304 - www.gries.name "-" "Windows-RSS-Platform/1.0 (MSIE 7.0; Windows NT 5.1)" "192.168.43.250"
 
212.218.229.2 - - [15/Sep/2008:09:03:48 +0200] "GET / HTTP/1.0" 200 3341 www.gries.name "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; InfoPath.1; .NET CLR 3.5.21022)" "192.168.43.250"
 
212.218.229.2 - - [15/Sep/2008:15:16:07 +0200] "GET /SSI.shtm HTTP/1.0" 200 4730 www.gries.name "http://www.gries.name/Michael/Gries.shtm" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; InfoPath.1; .NET CLR 3.5.21022)" "192.168.43.250"
 
82.113.121.8 - - [15/Sep/2008:15:20:10 +0200] "GET /SSI.shtm HTTP/1.1" 200 3391 www.gries.name:80 "-" "MC75/4.1" "-"

 

 

Fazit:

TC65 Terminal Rel. 2.0 (IMEI 355632005217881) liefert als Kennung: "MC75/4.1" ( vergl. Auszug aus Service Profile oben; Kennung ist default und wurde mittels AT-Kommando
at^siss=1,srvType,http

automatisch erzeugt

 

 

 

 

 

 

 

at^siso?

^SISO: 0, ""

^SISO: 1, "Http","6","2","3224","0","10.40.13.33:0","82.165.87.24:80"

^SISO: 2, ""

^SISO: 3, ""

^SISO: 4, ""

^SISO: 5, ""

^SISO: 6, ""

^SISO: 7, ""

^SISO: 8, ""

^SISO: 9, ""

OK     

 

at^sisc=1

OK

 

at^siso?

^SISO: 0, ""

^SISO: 1, "Http","2","0","0","0","0.0.0.0:0","0.0.0.0:0"

^SISO: 2, ""

^SISO: 3, ""

^SISO: 4, ""

^SISO: 5, ""

^SISO: 6, ""

^SISO: 7, ""

^SISO: 8, ""

^SISO: 9, ""

OK            

 

at^sisx="Ping",0,"www.gries.name",4

 ^SISX: "Ping",1,0,"82.165.87.24",785

 ^SISX: "Ping",1,0,"82.165.87.24",1011

 ^SISX: "Ping",1,0,"82.165.87.24",614

 ^SISX: "Ping",1,0,"82.165.87.24",628

 

 ^SISX: "Ping",2,0,4,4,0,0

 ^SISX: "Ping",3,0,614,1011,759

OK      

 

at^sicc=0

OK

5.              Zubehör

5.1.         Terminalprogramme

Für die gegenwärtige Testumgebung werden zwei Terminal-Programme benötigt.

 

Liste verwendeter Terminal Emulatoren:

 

1.     Hyperterminal  (Microsoft – Windows XP Zubehör) file:///C:\Programme\Windows NT\hypertrm.exe

2.     ZOC Pro 5.07     http://www.emtec.com
License:
Part A                                   Part B                        Support ID        User
39738/01030/52304 29400              Z5D367A          Thales

 

Dies liegt an dem Umstand, da das leistungsfähigere Terminal-Programm ZOC nach Beendigung nicht sofort die

Resourcen der seriellen Schnittstelle freigibt. Durch Aktiviren und anschließenden deaktivieren der Schnittstellen mittels Hyperterminal kann die NetBeans-Emulation anschließend wieder auf diese Schnittstell zugreifen.

 

5.1.1.      ZOC - Script Delete SMS

 

 

/* REXX (CREATED BY ZOC REXX RECORDER) */

 

SAY " "

SAY "*** Script SMS Delete all starts ***"

ZocTimeout 2

CALL ZocSend "AT^^SLMS^M"

ZocWait "wait"

 

 

ZocTimeout 1

 

SAY "Delete SM (25) storage ..."

CALL ZocSend "AT+CPMS=SM^M"

ZocWait "wait"

 

DO i=1 TO 25

      s = "at+cmgd="||i||"^M"

      CALL ZocSend s

      ZocWait "wait"

END

 

SAY "Delete ME (30) storage ..."

CALL ZocSend "AT+CPMS=ME^M"

ZocWait "wait"

 

DO i=1 TO 30

      s = "at+cmgd="||i||"^M"

      CALL ZocSend s

      ZocWait "wait"

END

 

CALL ZocSend "AT^^SLMS^M"

 

SAY "*** Script SMS Delete all ends *****"

SAY " "

 


5.1.1.1.  ZOC - Tastenbelegung für TC65Terminal

 

// OPTS_MACROS

UserDesc#00="TC63"

UserDesc#01="RTC"

UserDesc#02="IMEI"

UserDesc#03="IMSI"

UserDesc#04="Signal Quality"

UserDesc#05="list Profile"

UserDesc#06="Cells"

UserDesc#07="Monitoring"

UserDesc#08="Netstat URCs"

UserDesc#09="Status URCs"

UserDesc#10="ChkErr"

UserDesc#11="Text Mode"

UserDesc#12="SMS Send Test"

UserDesc#13="SMS mem"

UserDesc#14="SMS test new"

UserDesc#15="SMS read new"

UserDesc#16="SMS read all"

UserDesc#17="*100#"

UserDesc#18="*101# o2"

UserDesc#19="SMS Delete all"

UserDesc#20="GPRS"

UserDesc#21="TC63 off"

UserDesc#22="open GPIO"

UserDesc#23="set GPIO 5 out"

UserDesc#24="set GPIO 5 low"

UserDesc#25="set GPIO 5 high"

UserDesc#26="get GPIO 5"

UserDesc#27="set GPIO 9 in"

UserDesc#28="get GPIO 9"

UserDesc#29="set GPIO 10 out"

UserDesc#30="set GPIO 10 low"

UserDesc#31="set GPIO 10 high"

UserDesc#32="ati"

UserDesc#33="*100#"

UserDesc#34="SMS Send Test"

UserDesc#35="run ControlSPS"

UserDesc#36="autorun MIDlet"

UserDesc#37="autorun off"

UserDesc#38="RTC"

UserDesc#39="RTC set"

UserDesc#40=""

 

 

 

 

 

UserValue#00="ati^M"

UserValue#01="AT+CCLK?^M"

UserValue#02="atd*#06#;^M"

UserValue#03="at+CIMI^M"

UserValue#04="at+csq^M"

UserValue#05="at&v0^M"

UserValue#06="at^^smonc^M"

UserValue#07="at^^moni^M"

UserValue#08="at+creg=2^M~~~~~~at+creg?^M"

UserValue#09="at+cmer=3,0,0,2^M"

UserValue#10="at+ceer^M"

UserValue#11="at+cmgf=1^M"

UserValue#12="AT+CMGF=1^M~~~~~~~~~~~~AT+CMGS=01702237454"

UserValue#13="at^^slms^M"

UserValue#14="at^^smgl^M"

UserValue#15="at+cmgl^M"

UserValue#16="at+cmgf=1^M~~~~~~~~~~~~at^^smgl=all^M"

UserValue#17="atd*100#;^M"

UserValue#18="atd*101#;^M"

UserValue#19="^RUN=\Scripts\SMS Delete all.zrx"

UserValue#20="^RUN==\Scripts\GPRS.zrx"

UserValue#21="AT^^SMSO^M"

UserValue#22="at^^spio=1^M"

UserValue#23="at^^scpin=1,4,1^M"

UserValue#24="at^^ssio=4,0^M"

UserValue#25="at^^ssio=4,1^M"

UserValue#26="at^^sgio=4^M"

UserValue#27="at^^scpin=0,8^M~~~at^^scpin=1,8,0^M~~~~at^^scpol=1,8^M"

UserValue#28="at^^sgio=8^M"

UserValue#29="at^^scpin=1,9,1^M"

UserValue#30="at^^ssio=9,0^M"

UserValue#31="at^^ssio=9,1^M"

UserValue#32="ati"

UserValue#33="atd*100#;^M"

UserValue#34="AT+CMGF=1^M~~~~~~~~~~~~AT+CMGS=01702237454"

UserValue#35="at^^sjra=a:/ControlSPS.jad^M"

UserValue#36="AT^^SCFG=AutoExec,1,0,0,0,at^^sjra=a:/ControlSPS.jad^M"

UserValue#37="at^^scfg=autoexec,0,0,0,0^M"

UserValue#38="at+cclk?^M"

UserValue#39="at+cclk="08/07/06,23:22:21"^M"

UserValue#40=""


5.2.         Hardware Zubehör

 

5.2.1.      GSM Prepaid Karten (FONIC)

 

Zum Zeitpunkt der Evaluierung (August 2008) war das FONIC Prepaid Angebot bzgl. der als für dieses Projekt als wesentlich angesehen Punkte die optimale Lösung.

 

Kriterien:

Beschaffungskosten (für min. zwei Testsysteme)

min. SMS und GPRS Gebühren

keine Vertragslaufzeit

keine Zeitbegrenzung für Guthaben

 

 

 

 

 

 

http://www.fonic.de

 

 

 

 

 

 

 

 

FONIC GPRS Zugangsdaten:

 

 

 

 

 

 

 

 


5.2.2.      Anschlusszubehör für GPIO Port

 

 

 

aus MC Technologies Katalog:

 

 

 

 

 

 

 

 

 

Anstelle der angegebenen Bezugsquellen wurden von Klaus Bachmann verschieden farbige Einzellitzen (AWG 26) mit entsprechender Federhülse angefertigt.

 

Die zugehörige Micro Mate-N_Lok Buchse wurde von www.conrad.de bezogen.

5.2.3.      Spannungsversorgung TC65 Terminal

 

 

 

 

 

 

 

 

 

 

 

 

 

5.2.4.      Innenbeschaltung TC65 Terminal

 

 

 

 

 

 

pin

function

cable

23

GND (signal ground

black

19

Vdd (0..3,0volts)

brown

 

 

 

15

GPIO pin9 (as input)

red  (polling,  URC response)

 

 

 

5

GPIO pin5 (as output)

yellow

 


 

5.2.5.      Astro Funktion

 

 

Quelle:  www.

 

Rohdaten aufbereitet in separater Excel-Tabelle.
U.a. für automatische Code-Generierung der Astro-Zeiten (da 366 Codezeilen pro Sonnenaufgangs- bzw. Sonnenuntergangszeit).

Automatische Anpassung an Sommer-/Winterzeit Umstellung.

 

Zeiten-Ermittlung erfolgt Sekundengenau.

 

 

Zusätzlich vorgesehene Funktionen:

separate Wochenende Erkennung zur unterschiedlichen Lichtsteuerung

 

 

 

 


Quelle: www.merten.de  Jalousie-Zeitschaltuhr Standard (Astrofunktion)

 

 

5.2.5.1.  Astro Funktion – Realisierung für AF104

 

 

 

 

  

 

 

 

 

5.3.         Kabeladapter RS 232

Aufgabe: Indikation des Signalzustandes der RING und CD-Ltg.

 

Realisierung:  Modifikation an vorhandenen Kabel 744C403X000 / A01:

 

 

5.3.1.      Modifikation RS-232 Kabel

 

 



 

 

 

6 DSR,9 RING,5 GND
 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

5.3.2.      RS-232 Kabel für JAVA Autostart mittels DTR

 

Lösungsansatz:

Sog. Kurzschlußstecker mit DTR-Eingang an RING-Ausgang. Bei SMS oder Call geht die

RING-Leitung für 1 Sekunde von activ-High auf activ-Low. Der Übergang von Low auf High bewirkt einen Start der zuvor eingestellten Java-Applikation.

 

Zum Abschalten der Autostart-Funktion AT-Kommando:

at^scfg=autoexec,0,0,0,0

 

 

Voraussetzungen:

der .JAD - Dateiname muss im TC65Terminal Konfigurationsspeicher

mittels at^scfg eingetragen sein.

 

Stecker-Typ: Stiftleiste (Male)

 

 

 

 

 

Implementierung:

2008-09-15: Klaus Bachmann

 

Mögliche Erweiterungen:

Signalisierung mittels LED und 1KOhm Vorwiderstand gegen GND (Pin5)
             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.4.         Block Diagram TC65 Terminal

 

5.5.         GPIO - Modul

5.5.1.      Stromlaufplan GPIO - Modul

 

Schaltplan Erstellung mittels EAGLE Layout Editor 5.2.0 (Freeware – www.cadsoft.de).

 

 

Schaltplan in EAGLE abspeichern unter Datei/Exportieren…/ als *.PNG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.5.2.      Platine GPIO - Modul

 

 

 

5.5.3.      Stückliste GPIO – Modul

 

 

Partlist

 

Exported from GPIO.sch at 09.09.2008 12:23:50

 

EAGLE Version 5.2.0 Copyright (c) 1988-2008 CadSoft

 

Part     Value          Device     Package  Library      Sheet

 

IC1      ULN2003AN      ULN2003AN  DIL16    uln-udn      1

LED1   LED3MM     LED3MM   led          1

OK1     PC900          OPI8013    DIL06    optocoupler  1

RN1     8R-N       DIL16    resistor-dil 1

X1         W237-3E    W237-3E  con-wago-508 1

X2                      W237-3E    W237-3E  con-wago-508 1

X3                      W237-02P   W237-132 con-wago-508 1

X4                      W237-3E    W237-3E  con-wago-508 1

X8                      W237-3E    W237-3E  con-wago-508 1

 

 

www.conrad.de

 

 

 

 

 

 

 

5.5.4.      Ersatzteile / Spare Parts

 

Part no

Description

Remarks

6667-3-449-82

Paper Roll for thermoprinter

58mm x 45mm

 

Backup-Battery

3V Lithium (Type CR1/2 AA)

 

 

 

 

 

 

 

 

 

 

 

 

 

6.              Erweiterungen

 

6.1.         Datenblätter (externe Hardware zum TC65 Terminal)

 

6.1.1.      ULN2003

 

 

 

 

 

 

 

 

 

 


 

 

 

 

6.1.2.      PC 900 - Optokoppler

 

 

 

 

 

 

 

 


6.1.3.      Kapazitivschalter – Mentor

 

 

 

 


 

6.1.4.      Klingeltrafo

 

ABB System pro M compact

 

 

  

 

 

 

 

 


6.1.5.      I²C-Portexpander

 

 

http://www.mikrocontroller.net/articles/Port-Expander_PCF8574


6.1.6.      Externer Thermodrucker

 

 

 

 

 

 

 

 

 

 

 

 

6.1.6.1.  Thermodrucker - Anschlussbelegung

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.1.6.2.  Thermodrucker - Befehlssatz

 

 

 

 

 

Anmerkung:

Großschreibung bei Druckerkommandos beachten

 

 

 

6.1.6.3.  Thermodrucker Konfiguration für AF104

 

Der Thermodrucker unterstützt nur Baudrate 19200. Das TC65Terminal muss deshalb für Ausgaben über ASC0 auf den Drucker entsprechend ebenfalls auf 19200 umgestellt werden.

 

Nachteil:

Bislang ist es nur möglich an der NetBeans IDE Schnittstelle mit 115200 Bd zu arbeiten. Deshalb muss vor start der Java Applikation.

 

 

AT+IPR=19200

 


6.2.         Data Presentation

 

on click links to current diagram

 

 

 


7.              Projekt Dokumentation

Die Projektbeschreibung und die zugehörigen Unterlagen werden im wesentlichen durch dieses Dokument zusammengefasst. Alle Unterlagen, APIs und sonstige Datenblätter sind direkt per Link erreichbar.

 

Darüber hinaus soll dieses Projekt auch über das Internet weltweit online zugänglich sein.

 

Als Hosting-Server wurde www.gries.name gewählt, da hier freie Schreibrechte sowie FTP-Zugänge existieren.

 

Die Ablagestruktur ist wie folgt: www.gries.name/AF104

 

Organigramm

 

 

Umsetzung:

Die Projektbeschreibung wurde mittels MS Word erstellt. Zur Online Speicherung wird dieses in html umgewandelt. Dies kann entweder im .mht oder .htm Format erfolgen. Zum Zeitpunkt der Veröffentlichung mit Revision 3 ergaben sich folgende Dateigrößen:

·         MS Word:         3.784 Kbyte

·         .mht-Format:     7.587 KByte

·         .htm-Format:        244 KByte + 3.487Kbyte für Unterordner

Fazit: der Vorteil des .Mht-Formats, nur eine Datei zu haben zeigt sich hier bereits nachteilig, da Speicherplatz fast doppelt so groß und die Ladezeit beträchtlich länger ist. D.h. .mht-Seite wird erst dann angezeigt, wenn komplette Seite geladen wurde; die .htm Seite hingegen bereits nach Laden der 244 KByte kleinen Startseite, wobei die einzelnen Bilder (hier: 113) sukzessive nachgeladen werden.

Hinweis:

Bei Verwendung von MS Word 2007 gibt es noch das Format .htm (gefiltert). Dies sollte dann zur Anwendung kommen, da sonst einzelne Objekte zusätzlich im PNG, EMZ Format gespeichert werden.

 

 

7.1.         Java AF104 Application Programming Interface (API)

Das hier zugrunde liegende API wurde mittels Javadoc erstellt.

 

Ein Beispiel für die Klasse Astro im Package name.gries.common ist im folgenden Abschnitt exemplarisch dargestellt.

 

Der Link auf das komplette API findet sich hier.

 


7.2.         Javadoc Einstellungen

 


7.3.         Example – Astro functionality

 

7.4.         Drucker Einstellungen für Ausdruck diverser Dokumentationen

 

Verwendeter Drucker Schwarzweiß Laserdrucker für beidseitigen Ausdruck

 

 

 

 

 

 


7.5.         Javascript (Examples)

 

 

 

 

 

 

 

 

 


 

8.              Anhang

8.1.         Versuchsaufbauten

 

Erster Versuchsaufbau für allgemeinen GPIO-Test am 16.06.2008

 

 

 

 

<Bild Werrtisch UG AF104>

 

<Bild Anschlußkasten AF104>

 

8.2.         Installationsplan

Der Installtionsplan befindet sich an der Innenseite der Installationsschranktüre. Zweck diese Planes ist die anschauliche Darstellung der aktuellen Implementierung und der installierten Geräte. Dieser muss jederzeit aktuell sein und muss nach jeder Installationsänderung angepasst werden.