• Cart0
    Ialt 0.00 DKK
    Your shopping cart is empty!
    Tax:
    Discount:
    Total:

Store bar codes box-internally in SQLite database

Bedøm denne artikel
(0 bedømmelser)

 Dette eksempel viser følgende funktioner i pure.box:

  • Udførelse af et PHP script, når der modtages data på en TCP port
  • Læsning af de modtagne data via standard input
  • Lagring af indlæste oplysninger i en box-intern SQLite database
Motherbox php data anmodning

 

Formål

En virksomhed har en række læsseramper på hvilke pakker indscannes for levering i lastbiler. Før de enkelte pakker er indlæst, skal medarbejder med en håndscanner indscanne pakkernes stregkoder. De scannede koder gemmes derefter i database med tidsstempling og placering i en database.

Den håndscanner der anvendes har en RS232 port og er forbundet til en W&T Com-Server . Når en stregkode er læst sendes den til pure.box via netværket gennem COM-Server, og pure.box læser de modtagne data og gemmer den internt i en SQLite database. Databasen kan derefter læses af andre programmer ved hjælp af traditionelle SQL syntaks.

En PHP-fil er nødvendig for at gennemføre dette eksempel - save_data.php kan downloades her . I den komprimerede fil vil du også finde filen show_data.php , som åbner, læser og viser databasen, når den åbnes i browseren.

Konfiguration af COM-Server

For at COM-server bruges til at være i stand til at videregive data læses af håndscanner via netværket til pure.box, er det nødvendigt følgende konfiguration trin:

  • Den serielle konfiguration (baud rate, håndtryk, paritet etc.) skal matches til håndscanner, når opsætning af COM-Server.
  • COM-Server skal indstilles til TCP Client mode, som gør det muligt for vedtagelsen af serielt modtagne data til en forudindstillet IP-adresse og portnummer (her: Port 8000) på pure.box.

Konfiguration af pure.box

Gem filen save_data.php ved hjælp af FTP eller SMB-signering i mappen med navnet programmer på pure.box., og filen show_data.php i mappen navngivet Websites . Så er nødvendige følgende konfiguration trin:

Åbn hjemmeside af pure.box ved at indtaste IP-adressen i adresselinjen i din browser.
Motherbox hjemmeside
Vælg Log ind i menuen træet og logge på med dit password i den åbnede dialogboks.
Motherbox dialogboksen login box
Naviger til side Home >> Configuration >> Bruger filer . I filen oversigt klik på mappen med navnet programmer . Filen save_data.php vises.
Motherbox filbrowser
Ved at klikke på ikonet Rediger filegenskaber (i venstre side save_data.php ) åbner dialogen Rediger.
Rediger filegenskaber
Kontroller indstillingen Begivenhed kontrolleret . Vælg TCP og sæt Port til 8000. Gem dine ændringer ved at klikke på Gem ... du er færdig!
Event kontrol

Når data sendes fra håndscanner gennem COM-server til TCP port 8000 på pure.box køres scriptet save_data.php. De modtagne data læses ind af manuskriptet, et tidsstempel tilføjes og data gemmes i en SQLite database på pure.box Generelt bør du bemærke, at driften af PHP tolken stoppes automatisk efter to minutter. Programmet bør derfor være behandlet inden.

Kildetekst

I den første linje åbnes standard input til læsning af data.

$ I = fopen ("php: // stdin ',' r ');

De indkommende data læses tegn for tegn i en løkke, og strengen variable $ input er vedlagt. Løkken forlades, når et linjeskift (Line Feed, ASCII tabel: 10) er opdaget.

$ Input = ''; gøre { . $ Input = fread ($ i, 1); } While (substr (input $, -1, 1) = chr (10)!);

Derefter standard indgang er lukket igen.

fclose ($ i);

For at kunne gemme data i databasen, skal der oprettes en database objekt for skriveadgang, her: $ db . Hvis databasen endnu ikke findes, f.eks første gang scriptet kaldes, den krævede tabel modtaget med de to kolonner, tid for tidsstempel og data for de modtagne data, er oprettet.

$ Db = new BOB ("SQLite: ../ data.sqlite ');
 
$ db -> exec ("CREATE TABLE IF NOT EXISTS modtaget (tid INTEGER, data TEKST) ');

Ved at bruge en SQL-INSERT kommando en ny post tilføjes i tabellen modtaget . Den aktuelle tid skrives til tiden kolonnen i UTC-format, og data indeholder den modtagne tekst. Endelig databasen lukkes igen.

$ Db -> exec (.. "INSERT INTO modtaget (tid, data) værdier ('tid ()",' ".. $ Input" ") ');
 
$ db = null;

PHP script er nu fuldt køre og forlades. Når data modtages igen scriptet startes igen og kører som beskrevet ovenfor.

Hvis du tidligere har kopieret filen show_data.php til sub-mappe Websites , kan du åbne er i din browser ved hjælp af følgende webadresse.

http: // /websites/show_data.php

Siden læser de modtagne data fra databasen og viser disse i tabelformat.

Læs database

Resumé

Simple server-applikationer kan implementeres med pure.box uden forudgående viden ud over PHP. Serveren funktionalitet er allerede en del af Motherbox. Alt, der kræves, er, at den handling, du ønsker at køre, når der modtages data er programmeret.

Læst 792 gange Senest ændret tirsdag, 23 april 2019 02:04

Skriv en kommentar

Vær sikker på, at du indtaster al krævet information, markeret med en stjerne (*). HTML kode tillades ikke.