Sim900 GSM Modul

Başlatan argetek, 09 Nisan 2016, 19:34:13

argetek

merhaba arkadaslar  sayfadaki tum yazıları okudum ve uyguladım connect  kısmına  kadar  sorun  yok  lakin get ile veri gonderdigimde  error closed  oluyor  sabahtan beri  ugrasıyorum ama  cozemedim bir  turlu  konu  hakkında  fikri olan  varmı 


AT+CIPSTART="TCP","www.xxxx.xyz","80"

OK

CONNECT OK
AT+CIPSEND
> GET /baglanti.php?h=2&y=K&t=31&ut=34&idurum=Pasif&ts=09.04.2016-16:50 HTTP/1.1_




CLOSED

ERROR


usteki gibi bir bilgi yollamaya calısıyorum normal browser den  yazdıgımda  bilgi  db ye  işliyor
Saygılarımla...

argetek

hic gsm modul ile uygulama yapan arkadaş yokmu yaw  :)
neyse  ben araştırmaya devam şimdilik geldigim  sonuc  <cr> gibi sonlandırma komutlarını terminal progragramından gonderemedigim icin sanırım  error verdiğini düşünüyorum terminal program ile  pic  yada  farklı bir  mcu  ile  haberlesen arkadaslar  var  ise mcu uzerinden get  işlemlerini nasıl yaptığını  ögrenebilirsem sanırım sorunu  çözücem :)
Saygılarımla...

argetek

#2
sorun bir yere kadar  cozuldu arkadaslar  belki ihtiyacı olan olur diye burayada  yazıyorum  kesinlikle  veri gonderildikten sonra sonuna <CR><LF> ve ctrl+z  gondermeyi unutmayın  bunlar  gonderilmedigi taktirde  veri  gonderme  işlemi tamamlanmıyor ben bu kısmı  gectim artık sorun  gonderdigim veriye  serverden bad request geri donuyor  terminalden aldigim hata resmi dosya bolumundedir .  onuda  halledersem  tam bir  yazı  olarak  gsm modul  haberlesmeyi buraya  yazıcam 
Saygılarımla...

aRci

merhaba nırmal bir siteye kayıt nasıl yapılıyor bilmiyorum ama telit medül ile pic 16f877a ile thingspeak üzerindeki bir kanala ver, yazıp okuya bildim.




'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 03.01.2015                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
include "modedefs.bas"
'DEFINE I2C_SLOW 1
'ADCON1 = 7
'option_reg.7=0

DEFINE ADC_BITS 10     ' Set number of bits in result
DEFINE ADC_CLOCK 3     ' Set clock source (3=rc)
DEFINE ADC_SAMPLEUS 50     ' Set sampling time in uS
ADCON1=%10001110

TRISA = 255
trisb = 0
trisc = %10000001
trisd = 0
trise = %100

porta=255
portb=0
portc=%10000001
portd=0
porte=%110


DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  ' 9600 Baud @ 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

mesgul      var  byte    'ısı okuma bittimi
hesaplanan  var byte   'sıcaklık
okunan      var  word    'ds1820 gonderdiği word degerindeki ısı bilgisi
isaret      var byte
isaret_biti var okunan.bit11
sensor      var byte 'sensor = 255 se sensör yoktur
ondalik     var byte

     

    DEFINE LCD_DREG PORTB
    DEFINE LCD_DBIT 4
    DEFINE LCD_RSREG PORTB
    DEFINE LCD_RSBIT 3
    DEFINE LCD_EREG PORTB
    DEFINE LCD_EBIT 2
    DEFINE LCD_BITS 4
    DEFINE LCD_LINES 4
    PAUSE 300     
   
    gelen   var byte[30]
    adet var byte 
   
    f       var byte
    f1      var byte
    a       var byte
    a1      var byte
    p       var byte
    p1      var byte
    p2      var byte
   
    bkl     var word
   
    symbol ds1820   = portc.0 'okuma bacağı


   
reset:
gosub ds1820_oku
pause 5000

hserout ["AT",13]
pause 100
hserout ["AT&K0",13]
pause 100
hserout ["AT+CGDCONT=1,",34,"IP",34,",",34,"internet",34,13]
pause 100
hserout ["AT#USERID=",34,34,13]
pause 100
hserout ["AT#PASSW=",34,34,13]
pause 100
hserout ["AT#GPRS=1",13]
pause 3000
basla:

gosub ds1820_oku
gosub ds1820_oku
lcdout $fe,1,"Ds1820: ",dec hesaplanan,".",dec ondalik
lcdout $fe,$c0,"Yazdiriliyor..."
gosub yaz
lcdout $fe,$c0,"Yazdirildi  ..."
p = 2
gosub bkl_ser


lcdout $fe,1,"Ds1820: ",dec hesaplanan,".",dec ondalik,$fe,$c0,"Okuyor..."
gosub oku
lcdout $fe,$c0,"Okundu...",$fe,$94,"Okunan: ",str gelen\adet-48
p = 60
gosub bkl_ser




GOTO BASLA

bkl_ser:
for bkl = 0 to 100 * p
pause 100
next bkl
return

oku:
hserout ["AT#SKTD=0,80,",34,"api.thingspeak.com",34,13]
pause 5000
Hserout ["GET /channels/92500/fields/1/last HTTP/1.0",13,10,"Connection: keep-alive",13,10,13,10,13,10]
HSERIN 20000,RESET,[WAit ("Length: "),str adet\4,wait ("Connection: keep-alive"),skip 4,str gelen\adet-48 ]

return

yaz:
hserout ["AT#SKTD=0,80,",34,"api.thingspeak.com",34,13]
pause 5000
Hserout ["GET /update?api_key=7OH1C8FVCBA5DLUW&field1=",dec hesaplanan,".",dec ondalik,13,10,13,10,13,10]
lcdout $fe,94,"Okunan: ",str gelen\adet-48
return


ds1820_oku:
OWOUT DS1820,1,[$CC, $44]    'isi olçme emri
bekle:
pause 5
OWIN DS1820,0,[MESGUL]       'okuma bittimi ?
if mesgul=1 then goto bekle 

OWOUT DS1820,1,[$CC, $BE]    'bilgi okuma emri
OWIN DS1820,0,[OKUNAN.LOWBYTE,OKUNAN.HIGHBYTE,skip 4,sensor]  'ds1820 bilgi okunuyor

IF ISARET_BITI=1 THEN                           'okunan bilgi word tipinde bir bilgi
            isaret="-"  'bu verinin 11. biti isaret bitidir ( + / - )
            HESAPLANAN=(65535-OKUNAN+1)/16 'isaret biti 1 ise ( - ) , sıfır ise ( + ) 
    ELSE    'hesaplanan isaret bitine gore islem değişikliklerine uğrayarak bulunur
            isaret="+"
            HESAPLANAN=OKUNAN/16
ENDIF

'yard1 = OKUNAN.LOWBYTE & %00001111
ondalik= OKUNAN.3 *50 + OKUNAN.2 *25 + OKUNAN.1 *12 + OKUNAN.0 *6
return


argetek

Sevgili arci sorunu cozdum sorun get den sonra sadece sayfa ismi yaziyordum inceledigim tum sayfalarda bu sekilde sample verilmisti daha sonra birkac yabanci laynakli sitede get le gonderilen veriden sonra host:site ismi seklinde veri gonderildigini gordum onuda denedim yine olmadi bende sayfa basina komple domain i de yazdim boylece veri mysql data ya yazildi bunu komple bir makale olarak yazicam en azindan benden sonrakilere ornek olur si an cep telden sana yazdigimdan yaptiklarim ile ornek veremiyorum ama sanada sonsuz tesekkur ederim bu isin birde pic asamasi vardi verdigin ornek beni birde oninla ugrastirmaktan kurtaracak emegine eline saglik tesekkurler
Saygılarımla...

gogoce

Merhaba,

Bende merakla açıklamalarınızı bekliyorum . Modemle haberleşme işini sağolsun bir arkadaş aracılığı ile hallettik . CM8870 ile de dtmf yi çözdük . Şimdi de sizin yardımınız ve tecrübeleriniz ile veritabanına bilgi aktarmayı deneyeceğim

saygılar
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

argetek

merhaba arkadaşlar  konu hakkında  yazı yazmaya söz vermiştim sizlere  ben de  bu  görevimi en kısa surede  yerine  getirmek istedim eminim konu hakkında  ne  kadar  yazarsam  yazayım mutlaka eksikler  olacaktır  baslık altında  sorularınızı yayımlarsanız  elimden  geldiğince  açıklamaya  çalışırım .

öncelikle  yapmak istediğiniz  projeyi bir  şekillendirin derim  ne  yapmak istediğinizi bir  kağıda  dökün  şahsen ben  o şekilde  ilerlerim  her zaman amacım ne  su an misal olarak bir  pic  ile  adc  den  aldığım  verileri  gsm modül  aracılığı  ile  internet de bir  database  e yazmak ve  kullanıcının  bu  database  mudhale  etmeden sadece girilen  dataları izlemesini saglamak  bunun için  bir  baslangıc  belirlemem  lazım  benim  baslangız  noktam  daha  once  hic  gsm modul ile  calısmadıgımdan  dolayı  oncelikle  gsm  modulu  tanımak ve  komutlarını  ogrenmek  amaclı  olarak  pic  ile  degilde  gsm modulu  pc  ile  haberlestirerek testler  yapmam lazım oncelikle  lazım olan  materyaller  listesi yapmam gerekli idi  bana  su asamada  bir  gprs  lı gsm  modul bunu  pc  ile  haberlestirmek  icin  bir  arabirim  lazım  ben notebook  kullandıgımdan dolayı  benim  pc de  seri port  bulunmamakta  inceledigime  gorede  gsm  moduller  3.3 vdc  civarında  gerilimlerle  haberlesiyordu  hem  data  gerilimini bu seviyelere  getirmek  hemde  mevcut  port larımla  haberlesmek  icin  bir  arabirim  arastırması  yapmam  gerekli  idi  kısa  bir  arastıermadan  sonra (10 dk kadar ) usb to serial  converterler  buldum  bunlar  cesitli fiyat  aralıklarında  oldugu  gibi  uygulama  alanlarıda  bunlara  gore idi ben kendime  en  uygun  olan  ftdi232  FT232RL chipsetli  bir  converter  buldum  bu converter  uzerinde  hem  3.3 hemde  5 v  cıkıslar  mevcut  bunun  yanı  sıra  direk  olarak  db9 cıkısları  da  bulunmakta  fiyat  olarakta  aldıgınız  yere  baglı  olarak  20-30 tl  civarında  bir  fiyatı var  ben  fazla  ugrasmadan  30 tl  olan  ve  surekli  malzeme  aldıgım  firmadan  hemen  bir  tane  siparıs  ettim ve  aldım aparatımızı dizustune  taktık  sonra  aparatın cıkıslarından  module gerekli baglantıları yaptım  geldik  pc  ile  modulu haberlestirmeye  ee  simdi  nolacak  simdi  module  birseyler  yollayıp karsılıgında  birseyler  gormek lazım  hemen  cok  eskiden  kullandıgım  kıyıda  kosede  duran  bir  terminal programım vardı  actım  onu  "Terminal v1.9b" burum  buradan  sonra  benim  icin  resmen  dipsiz bir  kuyu  haline  gelmisti  :) herzaman  kendime  edindigim bir  ilke  vardı  bir  modul  yada  aparatın  tum  fonksiyonlarını ögrenmek  zaman  alıyor  ise  oncelikle  sadece  bana lazım olan  kısmını  ogrenip  isi  tamamladıktan  sonra  kalan  kısmını  incelerim  bundada  boyle  yaptım  oncelikle  kullandıgım  modulun  AT  komutlarını arastırdım  internetden  aklıma  gelmisken  hermodulun  farklı  at  komutları  olabiliyor  buna aldanıpta  a  benim  modulum  bu  komuta  yanıt  vermedi  bozuk  bu  demeyin  (ben  bu  supheye  basta  kapıldım!!)ilk  komutumuz  terminalden  AT  yazmak  ve   karsılıgında  OK  diye  bir  cevap  almak  yazdık  ve  bekledik  yok  modulden  cıt  cıkmıyor  geri  donenen  en  ufak  bir  cevap  yok acaba  baglantılarmı  ters  diye  once  baglantıları  kontrol ettim  baglantı  hatası yoktu  acaba  aldıgım  usb to serial  de  mi  hata  var  dedim  ornek  eskiden  almıs  oldugum  basit  usb to serial  converterlerde  baya  bir  calısmayan  birikmisti  elimde  o yuzden  ilk  olarak  acaba orada  basladı  hemen  aparatı  test  etmek  amaclı  olarak  aparatın  TX  i ile  RX  ini  kendi  uzerinde  kısır donguye  soktum  ve  test  ettim  bu arada  aparatın  kurulumdan  bahsetmiyorum  muhtemelen  pc  nize  yeni bir  donanım  eklediginizde  yapmanız  geekenleri  hepiniz  biliyorsunuzdur  diye  dusunuyorum  neyse  devam edeyim  bu  test  i  aparat  basarı  ile  gecti  ben  terminalden ne  yazarsam  bana  geri  aynısı  dondu  simdi  sira  geldi  module  modulle  ilgili  eksik  birseyler  var  kesin  dedim  bozuk  olama  ihtimalini  hic  dusunmedim  guvendigim bir  firmadan  aldıgımdan  dolayı  o supheyi sildim  kafamdan  sizlerede  tavsiyemdir  arkadaslar  herhangi bir  modul  olsun  aparat  olsun  chip  olsun  ne  alırsanız  alın  ucuzunu  aramak  yerine  üç  kurus  fazla  verin  guvenilir  biryerden  alın  sonra  herhangi bir  istenmeyen  durum  oldugunda  acaba  bana  bozuk  urunmu  verdi  diye  suphe  dustumu icinize  bir  arpa  boyu  yol  ilerleyemezsiniz  neyse  devam edelim  kullandıgım  modul  sim900a  olduguna  gore  bununla  ilgili  dokuman  aramam  gerekliydi  edaboard  gibi  yabancı  kaynaklı  form  larda  bolca  kaynak  buldum  ve  ilk  olarak  ogrendigim  sim900a  nın  avrupa  gsm  oparotorlerinde  calısmadıgı  oldu  eee  nolacak  simdi  elimizdeki modul  calısmıyor daha  dogrusu  calısıyorda  sebekeye  connect  olmuyor  biraz daha  arastıralım  bakalım  bunu calıstırmanın  bir  yolu  varmı  derken  turk satıs  sitelerinde  sim900a  moduller  gordum  calısır  durumda  ve  imei  si kayıtlı  sistemler  gordum  aklıma  gelmisken  arkadaslar  kesinlikle  modul  alırken  ilk  dikkat  edeceginiz  sey imei  kaydı  eger  imei  kaydı  yok ise  elinizdeki  modul 10  gun  kadar  calısıp  daha  sonra  bloke  olacaktır  buna  mutlaka  dikkat  edin  satın  alımlarınızda  neyse  ben  bu  calısan  modulleri  gorunce  dedimki  hım  demekki  bu  modulu  tr  de  calıstırmanın bir  yolu  var  biraz daha  arastıralım  ve  sonunda  frimware  update  ile  bir  alt  serinin  yazılımını  attıgımızda  icine  sistem  calısıyormus  tabi  bu arada  keske  modulu  almadan  once  su  kayıtlı ve  calısır  modulleri  gorseydim  bukadar  zaman  ve  iş  kaybı yasamasaydım diyede  cok  fazla  dusundum  kendikendime  :)
neyse  bir  sekilde  hangi  yazılımı  atıcagımızı  bulduk elinde  sim900a  ve  benim  gibi  sorun  yasayanlar  icin  ilk  yapılacak  islem  frimware  update  unutmayın  arkadaslar .
öncelikle  frimware  update  icin  bize  lazım  olan  ilk  sey  bunu  module  yuklemek  icin  bir  program  yani  simcom sim flash  customer flash  isimli  programı  bulmak  gerekli  bu arada  yazıda  sozu  gecen  tum  program  ve  yazılımları  yazının dosya ekleri  kısmında  veriyorum  daha  sonra  yazılımları  edindikten  sonra  yukleme  islemine  gecelim  piyasada  aldıgımız  modulun  cok  fazla  varyasyonu  var  uzerinde  on-of  butonu  olandan  tutunda  hop ve  mic  cıkısı  olana  degin  her turlu  hazır  modul  bulunmakta  benim  kullandıgım  modul  benim  kullandigim  modul  yukarıdaki resimdeki modul  simdi  sıra  ile  yazılımı  yukleyelim  genel  olarak  herkez  ac  bucuk  program  yuklemeyi  biliyor  kısmen  zaten  pic  yuklemekle  aynı  mantık  burada  tek  dikkat  etmeniz  gereken  konu  yonergeleri  harfiyen  uygulamak  yoksa  gunlerce  ugrasırsınız  ilk  olay  ise  eger  benimki  gibi  bir  modul  kullanıyorsanız  yuklemenin ilk  asamasında  power  restart  yonergesine  dikkat  etmek  gerekiyor  aksi  taktirde yukleme  baslar  ve  o  sekilde  saatlerce  beklersiniz  yukleme  bitsin  diye  :) yuklemeyi  baslattıktan  sonra  restart  yonergesini  de  dikkate  aldık  bu  durumda  yapılacak  en  kestirme  yol  modulun  enerjisini  kapatıp  tekrar  acmak  benim  kullandıgım  modulde herhangi bir  on-off  butonu  olmadıgından  ben  manuel  olarak  enerjiyi  kesip  tekrar  actım ve  yukleme  islemi  bittikten  sonra  geldik  yeniden  pc  ile  haberlesmeye  haydaa  gene  benim  AT  ye  gelen herhangi bir  yanıt  yok  bu  ne  simdi  dedim  noluyoruz  hadi  yeniden google  amcaya  soralım  neden  calısmıyor  bu  meret  cihaz  google  amca  gene  beni yolladı  edaboard  a  bu arada  edaboard  da gittik  ve  sorulara  yanıtlar bulduk  ilk  asama  elimizdeki  ftdi  cevirici  yani  usb to serial  bunun  2  tane  cıkıs volt  u  oldugunu  ogrendik  aparatı  aldıgımızda  uzerini  incelememenin  azizligi  oysa  uzerindeki  jumper  ne  ise  yarıyor  diye  az dikkart  etsem  hemen  dibinde  yazan  3.3   ve  5 v  yazılarını  gorecekmisim  neyse  benim  aldıgım  ftdi  da  resimde  gorulen  alet  buradaki  jumper i 3.3 yazan kısma  aldıktan  sonra  modulumuzle tekrar haberlesmeyi denetik  bingo  AT yazınca  karsılıgında  OK  yazısını  aldık  eee  simdi  nolacak  bununla  ben  int  uzerindeki  db  ye  nasıl  veri  gondericem  al sana  bi  dipsiz  kuyu daha  :)  hayde  bismillah  tekrar 
google  amca  nasılsın  dedik  oda  bizim  bu  iyi  niyetli  davranısımıza  karsılık  iyi  bir  cevap  olarak  git  sim900a  nın  datasheet  ini  oku  dedi  e  iyide  ben  o  datasheet  i inceledim  ve  hic  birsey  anlamadım  okadar  cok  at  komutu  varki  onların  hepsini ezberlemek  neye  yaradıgını  algılamak zaten aylar  alırdı  hemen  stratejimizi  hatırlayalım  acil  durumlarda  sadece  sana  lazım  olan  kısmı  kavra  ilk  olarak  bu  modulun  bir  cep  telefonunun  calısmasından  bir  farkı  olmadıgına  gore  oncelikle  buna  internete  baglanması  icin  birseylerin  verisinin  verilmesi  lazım  ornek  cep  telefonumuzdaki  gprs  ayarları  gibi  bu  modul  muneccim  degil  ya  nerden  bilecek  ayar  yapmayı  hemen  google  amcaya  sorduk  sihirli  soruyu  sim900a  APN  confing  bingo  birsuru  site  cıktı  karsımıza  bunlardan  herhangi birini  acıp  hemen  at  komutları  ile  modulun  apn  ayarlarını  yaptım  .
AT+CSTT= "APN", "UNAME", "PWD" 
bu  komuta  alacagımız  yanıt  ise
OK
olmalı  evet  kuyunun  dibi
gorunmeye  basladı  biraz  simdi  ilk  olarak  apn  ayarlarımızı  yaptıgımıza  gore  gprs  imizi  aktif  etmemiz  gerekli  diye  dusundum  ve  onun  komutunu  aradım
AT+CGATT=1
bu  komut  ilede  gprs  servisimizi  aktif  ediyormusuz  bunuda  ogrendik  ve  hemen  terminalden  uyguladık  sonuc  olarak  aldıgımız  yanıt  yine  OK  oldu 
buraya  kadar  hersey  guzel  simdi ilk  web  site  baglantımızı  deneyelim 

AT+CIPSTART= "TCP" , "www.benimsitem.com", "80" 
Yanıt   :CONNECT OK

evet  siteye de  baglandık  e  gimdi ne  olacak  ben  nasıl  veri  yollıcam  birde  bunu  ogrenelim bakalım dedim  ilk  deneme de  kullandıgım  komutlar  soyle  idi 

AT+CIPSTART= "TCP" , "www.benimsitem.com", "80"
Yanıt : CONNECT OK
AT+CIPSEND
Yanıt : komutu  yazmanız  için "<" karakteri  karsınıza  gelecek
GET /baglanti.php?hi=2&yon=K&avlt=3&lt=3&idurum=Pasif&ts=11.04.2016-11:40 HTTP/1.$0D$0A
Yanıt : SEND OK 


evet  biryerlere  birseyler  gonderdik  ve  send  ok  yanıtını  aldık  iyide  biz  sinmdilik  sadece  at  komutları  icin calisma  yaptık  database yada web  sayfası  hazırlama  hakkında  temel  bilgilerden  ileri  hic  birsey  bilmiyorum  nolacak  simdi  haydi  gene  google  amca  db  işlemlerinde  en cok kullanılan  ve  kaynagı  bol  olan  dil  bence  php  ozaman  islemleri  php  sayfa  uzerinde  gostericez ilk  is  olarak  gondermek  istedigimiz  data  yada  datalar  ne  onları  saptayıp mysql andminden  once  bi  db  daha  sonra bir  tablo  ve  gondericegimiz  veri  kadar tablo icine  alan  acıp  bununla  işimizi  bitiricez  bu arada  db  yi  acarken  verdigimiz  kullanıcı  adı  ve  sifreyide  bir  kenara  kaydetmeyi  unutmayalım  simdi  ilk is  olarak  bizim  gonderdigimiz  veriler  get  methodu  ile  gittigine  gore  get  ile  gelen  verileri  yakalayacak  bir  sayfaya  sonra  bu  verileri alıp  db ye  kaydeden  bir  komut  dizisine  ihtiyacımız  olacak  arastırmalarıma  gore  artık  mysql 5  ve  uzerinde  baglantı  komutlarında  mysql  degil  mysqli  kullanılıyormus  ve  ben  mysqli  hakkında  en  ufak  fikre  sahip degilim  neyseki  komutlar  kısmen  aynı  gibiymis  ve  ilk  olarak  db  ye  baglanıp  get  le  gelen  verileri  yakalayıp  bir  degiskene  atan  ve  bu  degiskendeki  bilgileride  db deki  tablonun  ilgili  alanlarına  yazan  bir  baglanti.php  isimli sadece  kod  dan  olusan bir  script  yazık 


<?php
$baglanti = mysqli_connect('mysql.xxxx.web.tr','user','pass','db') or die(mysqli_error($baglanti));

$hiz = $_GET['iz'];
$yon = $_GET['on'];
$avolt = $_GET['olt'];
$uvolt = $_GET['vol'];
$idurum = $_GET['idurum'];
$ts = $_GET['ts'];



$sqlekle="INSERT INTO tablo_ismi( iz, on, olt, vol, idurum,ts)
VALUES ('$hiz','$yon','$avolt','$uvolt','$idurum ','$ts')";

$sonuc=mysqli_query($baglanti,$sqlekle);

if ($sonuc==0)
echo "Eklenemedi, kontrol ediniz";
else
echo "Başarıyla eklendi";


?>


bunu  sitemize  attık  e  gelen  verilerin yakalanıp  kaydedildigini  gormek  icin  herseferinde  mysql  e  mi  giricez demekki  bunları  izlemek  icin  bir  sayfaya  daha  itiyazımız  var  hemen  onuda  yazalım 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>benim sitem Veri İzleme</title>
</head>
<body>
<table width="946" border="1">
  <tr bgcolor="#6699CC">
    <td width="160"><div align="center"><strong>motor Hızı</strong></div></td>
    <td width="138"><div align="center"><strong>motor  Yonu</strong></div></td>
    <td width="105"><div align="center"><strong>motor Volt</strong></div></td>
    <td width="140"><div align="center"><strong>sebeke Volt</strong></div></td>
    <td width="183"><div align="center"><strong>Inverter Durum</strong></div></td>
    <td width="184"><div align="center"><strong>Tarih/Saat</strong></div></td>
  </tr>


<?php
$baglanti = mysqli_connect('mysql.xxxxx.web.tr','user,'Pass','DB adı') or die(mysqli_error($baglanti));


$sorgu="select * from tablo_adı";
$cagir=mysqli_query($baglanti,$sorgu);
while($getir=mysqli_fetch_assoc($cagir))

{
echo '<tr>';

echo '<td>'.$getir['iz'].'</td>';
echo '<td>'.$getir['on'].'</td>';
echo '<td>'.$getir['olt'].'</td>';
echo '<td>'.$getir['vol'].'</td>';
echo '<td>'.$getir['idurum'].'</td>';
echo '<td>'.$getir['ts'].'</td>';

echo '</tr>';
}
?>
</table>
<p></p>
</body>
</html>



evet  izleme  sayfamızda  hazır  yani  modulden  gonderdigimiz  verileri  buradan  izleyebiliriz  simdi  tekrardan  module  donelim  ve  terminal  penceresinden  bir  veri  yollayalım 


AT+CIPSTART= "TCP" , "www.benimsitem.com", "80"
Yanıt : CONNECT OK
AT+CIPSEND
Yanıt : komutu  yazmanız  için "<" karakteri  karsınıza  gelecek
GET /baglanti.php?hi=2&yon=K&avlt=3&lt=3&idurum=Pasif&ts=11.04.2016-11:40 HTTP/1.$0D$0A
Yanıt : SEND OK 


verimizi  yolladik  ee  sitede  gelen  herhangi birsey  yok  acaba  siteyi  kodlarken  bi  hatamı  yaptık  diye  kontrol etmek  en  uygun  yol  bence 
hemen  browserimizi  acip  xxx.xyz/baglanti.php?hi=2&yon=K&avlt=3&lt=3&idurum=Pasif&ts=11.04.2016-11:40 yazdık  ve  siteyi  kontrol ettik  siteye  veriler  eklendi e  ozaman  sorun  nerde  oysa modulde  send  ok  yazıyor  yani  birseyler  yolluyor  hata  nerde  hadi  tekrar  arastırmaya  google  amca  neden ?  diye  bir  soru  sorduk  oda  acemi  tavuk  ambar  yolunda  kaybolur  dedi  ben  sana tum  yanıtları  verdim  iyi  iclememissin  diyerek  daha  once  verdigi  link  lerin  aynısını  tekrar  dizdi  onume  basladım tekrar  okumaya  yazıları  okurken  birkac  kisinin  yazısında  SEND Ok  dan  once  bir  satır  daha  yazdıklarını  gordum  buradaki  komut  ise 

HOST:xxx.xyz  seklinde  domaininiz
 

tamam  bunuda  yazalım  bunuda  komutlarımızın  sonuna  ekleyerek  yazdık  ama  bu kesde  tanınmayan  komut  hatası  almaya  basladık  demekki  bizde  host  girilmiyor  dedim  ve  http  versiyonunu  1.  dan 1.1  e  degistirip  tekrar  denedim  bu  kez  biraz  degişiklik  var   he  aklıma  gelmisken  get  le  baslayan  satır  bittikten  sonra  eger  CR+LF ve  CTRL+z  komutlarını  gondermesseniz  kesinlikle  data  gitmiyor  send ok  yazıp oylece  bekliyor  bir  sure  sonrda  erorr  deyip  kalıyor  bu cr-lf  ve  ctrl+z mutlaka  verin bunu terminalde  makro bolumunde  verebiliyorsunuz  ben  oyle  yaptım  en  azından  makroya  yazılacak  kodlar 

CR LR icin : $0D$0A
CTRL+Z için  : $1A


bunlarıda  yaptıktan sonra  geriye  tek  sey  kalıyor  su  host  kısmını  halletmek  bizim  modulumuz  host  komutunu  tanımıyorsa  ne  yapabilirim  diye  dusundum kısıtlı  web tasarım  bilgime  dayanaraktan  host  un  baglantı  sayfasının  yerini  belirttigini  dusunerekten  acaba  get  kısmına  tam  adresi  yazarsak  nolur  diye  dusunerekten  get  i

GET http://www.xxxx.xyz/baglanti.php?hiz=2&yon=KB&avolt=325&uvolt=346&idurum=Pasif&ts=11.04.2016-11:40 HTTP/1.$0D$0A


olarak degistirince  bingo  artık  veriler  db ye  işliyor  ve  ben  bunu webdeki indextest  sayfasından  gayet  guzel  goruntuleyebiliyorum  tabi  bu  projenin birde  pic  ayagı  var  pic  ile  aynı  işlemleri  yapıcagımızı  dusunuyorum  standart  hserin ve  hserout  komutları  ile  module  veri  yollama  kısmını  elbet  cozersiniz  gerci  ben  o  kısmı  bugun  deniyecegim  ama  bir  sorun  olucagını acıkcası  pek  sanmıyorum 


yazıyı  yazarken  sohbet  havasında  yazmamın  sebebi  3  komutluk  bi  kodu  bile  yazarken  daha  once  yazıpta  paylasan  arkadasların  emegine  saygı  duymayan  arkadaslar  anlasın  aslında  o 3  komutun  dogrusunu  bulana  kadar  kisiler  ne  denli  ugraslar  veriyor  sonrada  gelip  buraya  sunu  soyle  yapın  cozulur  denildiginde  bircok  kisiye  cok  kolay  gorunen  ama  o  işlem  kolay hale  gelene  degin  onu  yazan  arkadasın  neler  cektigini  herkezin  anlaması  amacı  ile  yazıyı  oldukca  uzakttım  hakkınızı  helal  edin  arkadaslar  bıkmadan  okuyanların  komutların  harince  bir  projenin  hayata  gecene  kadar  cekilen  sıkıntıları  anlayacagını  dusunuyorum 
kalın  saglıcakla 
Saygılarımla...

F®T

#7
argetek eline sağlık.Bayağı çok zahmetli bir anlatım yapmışsın.Tebrikler.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

gogoce

Eline sağlık usta en kısa zamanda deneyeceğim
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

argetek

Alıntı yapılan: F.T - 14 Nisan 2016, 20:50:31
argetek eline sağlık.Bayağı çok zahmetli bir anlatım yapmışsın.Tebrikler.

saolasın  Sevgili F:T 
Saygılarımla...

argetek

Alıntı yapılan: gogoce - 14 Nisan 2016, 21:36:14
Eline sağlık usta en kısa zamanda deneyeceğim

sende  saolasın  gogoce  ozelliklede senin icin yazdım bu  yazıyı zaten  merakla  bekledigini bildigimden  elimden  geldigince aciklayıcı  olsun istedim  yinede  takıldıgın  yer  olursa  yardımcı  olmaya calısırım 
Saygılarımla...

gogoce

Bir web sayfası yapmamız gerekiyor değilmi yani www.benimsayfam.com gibi bir alan adı alıp orda işlem yapacağız doğru mu?
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

argetek

#12
ucretsiz domain ve  alan veren firmalar  var  onlardan alım yapabilirsin yada  bu isi seninde  yazdıgın gibi www.benimsayfam.com gibi alan adı satın alarakta yapabilirsin ama benim tavsiyem ilk olarak ucretsiz yer ve isim veren yerlerde  denemelerini yapman baslangız  olarak hotinger.web.tr  isimli firmadan baslayabilirsin  hem php hemde mysql desteği oldugundan tum denemelerini orada yapabilirsin 
Saygılarımla...

gogoce

Atladım mı bilmiyorum da sayfanın refresh zamanını modem mi yoksa sürekli F5 mi yapmamız gerekiyor tam anlayamadım
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

argetek

Alıntı yapılan: gogoce - 15 Nisan 2016, 15:09:56
Atladım mı bilmiyorum da sayfanın refresh zamanını modem mi yoksa sürekli F5 mi yapmamız gerekiyor tam anlayamadım

ben sayfaya refresh koymamıstım  girip  datalara  bakıp  cıkmaktı  amacım ama surekli bir  izleme  mevcut  olacaksa  sayfaya  belli  aralıklarda  refresh  kodu  ekleyebilirsin  misal  olarak 


header("Refresh: 10;");   


10 sayfanın refresh aralıgını belirler  bu  sayıyı  sen istegine  göre  arttırıp  azaltabilirsin 
Saygılarımla...

Powered by EzPortal