發表文章

目前顯示的是 10月, 2019的文章

以ngrok為例,在centos7上寫一個服務

首先要先編輯你要的服務 服務通常會在/etc/systemd/system/底下 vim /etc/systemd/system/ngrok.service 寫入: [Unit] Description=ngrokd Daemon after=network.target [Service] Type=forking ExecStart=/home/ngrokd-start.sh ExecStop=/home/ngrokd-stop.sh StandardOutput=tty [Install] WantedBy=multi-user.target 回到home目錄 創建ngrokd-start.sh 跟 ngrokd-stop.sh (別忘了要chmod改一下權限) ngrokd-start.sh 內容: #!/bin/sh /home/ngrok http 1880 -log=./log.txt & ngrokd-stop.sh 內容: #!/bin/sh ps aux | grep ngrok | awk '{print $2}' | xargs kill -9 記得寫完要 systemctl daemon-reload

ESP 8266 ESP-01S 常用的AT command

AT+CIPSTATUS                                                             //查循網路連接訊息 AT+CWLAP                                                                    //掃描AP AT+CWJAP_DEF="<AP name>","<AP password>"    //加入AP AT+CIFSR                                                                      //check esp8266 IP AT+CWQAP                                                                  //ap leave AT+CIPDOMAIN=<domainname>                               //待解析的域名,可支持長度小於64的域名 AT+RESTORE                                                               //restore to factory AT+CIPSTART="TCP","<domain or ip>",1880           //以TCP的方式與<domain or ip>的1880 port連接 AT+CIPMODE=1                                                          //以通透模式傳送 AT+CIPSEND                                                                //傳送 GET /test?token=admin HTTP/1.1\r\n User-Agent: ESP8266\r\n +++                                 

arduno uno GPS OLED 輸出

圖片
喵的咧 用U8g2來寫直接記憶體爆掉 完整程式碼如下 #include <SoftwareSerial.h> #include <TinyGPS++.h> //#include <Arduino.h> //#include <U8g2lib.h> #include <U8x8lib.h> //#ifdef U8X8_HAVE_HW_SPI #include <SPI.h> //#endif //#ifdef U8X8_HAVE_HW_I2C //#include <Wire.h> //#endif U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display //U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // All Boards without Reset of the Display int RXPin = 2; int TXPin = 3; int GPSBaud = 9600; SoftwareSerial gpsSerial(RXPin, TXPin); TinyGPSPlus gps; // Create a TinyGPS++ object void setup(void) {   u8x8.begin();   u8x8.setPowerSave(0);   Serial.begin(9600);   gpsSerial.begin(GPSBaud); } void monShow(float La,float Lo,float Al){   //u8g2.clearBuffer();         // clear the internal memory   u8x8.clear();   u