發表文章

IT|軟體|維運管理|作業系統|Linux|Java 應用 Ubuntu 平台以 Systemd 服務方式運行

Linux Ubuntu 版本 18.04 sudo nano /etc/systemd/system/test.service [Unit] Description=Manage Java service [Service] User=lilee WorkingDirectory=/home/lilee/Signal/project ExecStart=/usr/bin/java -jar aaron-ui-1.0-SNAPSHOT.jar  --spring.profiles.active=prod & Type=simple Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target 參數說明 ======= WorkingDirectory 工作目錄 /home/lilee/Signal/project ExecStart 執行 jar 及指定 /usr/bin/java -jar aaron-ui-1.0-SNAPSHOT.jar  --spring.profiles.active=prod & sudo systemctl daemon-reload 啟動服務 sudo systemctl start test.service 停止服務 sudo systemctl stop test.service 查看服務狀態 sudo systemctl status test 開機自動啟動 sudo systemctl enable test.service  參考 [1].  https://computingforgeeks.com/how-to-run-java-jar-application-with-systemd-on-linux/ 這封郵件來自 Evernote。Evernote 是您專屬的工作空間, 免費下載 Evernote

IT|作業系統|Linux|Ubuntu 18.04 設置時間同步 timedatectl、ntpd

介紹 準確的計時已成為現代軟件部署的關鍵組成部分。 無論是確保以正確的順序記錄日誌還是正確應用數據庫更新,不同步的時間都可能導致錯誤,數據損壞和其他難以調試的問題。 Ubuntu 18.04內置了時間同步,默認情況下使用 systemd 的 timesyncd 服務激活。 導航基本時間命令 查找服務器上 date 最基本命令是 date 。 任何用戶都可以輸入此命令來打印日期和時間: date Mon Dec 17 13:33:04 CST 2018 使用 timedatectl 控制時間同步 直到最近,大多數網絡時間同步都由網絡時間協議守護程序或 ntpd 處理。 此服務連接到其他 NTP 服務器池,為其提供持續且準確的時間更新。 Ubuntu 默認安裝現在使用 timesyncd 而不是 ntpd。 timesyncd 連接到相同的時間服務器,並以大致相同的方式工作,但更輕量級,更集成 systemd 和 Ubuntu 的低級別工作。 可以通過運行沒有參數的timedatectl來查詢timesyncd的狀態。 timedatectl output                       Local time: Mon 2018-12-17 13:33:58 CST                   Universal time: Mon 2018-12-17 05:33:58 UTC                         RTC time: Mon 2018-12-17 05:33:59                        Time zone: Asia/Taipei (CST, +0800)        System clock synchronized: yes systemd-timesyncd.service active: no                  RTC in local TZ: no 再次運行timedatectl以確認網絡時間狀態。 實際同步可能需要一分鐘,但最終Network time on:和NTP synchronized:應該讀取yes 。 sudo t

IT|軟體|測試|Swagger RESTful API 調適工具

圖片
使用 Swagger 建立 PDF 文件 Swagger 是一款RESTFUL接口的文檔在線自動生成+功能測試功能軟件 Swagger 是一個規範和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。總體目標是使客戶端和文件系統作為服務器以同樣的速度來更新。文件的方法,參數和模型緊密集成到服務器端的代碼,允許API來始終保持同步。 [Spring Boot 集成 Swagger] [POM] pom.xml <!-- swagger2 集成 -->     <dependency>     <groupId>io.springfox</groupId>     <artifactId>springfox-swagger2</artifactId>     <version>2.2.2</version>     </dependency>     <dependency>     <groupId>io.springfox</groupId>     <artifactId>springfox-swagger-ui</artifactId>     <version>2.2.2</version>     </dependency> Spring boot 版本 --------------- <parent>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-parent</artifactId>         <version>1.4.7.RELEASE</version>         <relativePath/> </parent> Spring clo

IT|作業系統|Linux|Ubuntu rc.local systemd 開機自動執行應用程式

作業系統版本 Ubuntu 18.04  使用  systemd  設置開機啓動: systemd  默認讀取  /etc/systemd/system  下的配置文件 該目錄下的文件會鏈接  /lib/systemd/system/  下的文件。 一般系統安裝完  /lib/systemd/system/  下會有  rc-local.service 文件,即需要的配置文件。 ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service cd /etc/systemd/system/ cat rc-local.service rc-local.service内容 # SPDX-License-Identifier: LGPL-2.1+ # # This fileispart ofsystemd. # # systemd isfree software; you can redistribute it and/ormodify it # under the terms ofthe GNU Lesser General PublicLicense aspublishedby # the Free Software Foundation; either version 2.1ofthe License, or # (at your option) any later version. # This unitgets pulled automatically into multi-user.target by # systemd-rc-local-generator if/etc/rc.localisexecutable. [Unit] Description=/etc/rc.localCompatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] T

IoT|硬體 |樹莓派|實作|Homebridge 結合 MQTT Homebridge-server、Homebridge-config-ui-x、Homebridge-mqtt

圖片
安裝 Homebridge-server sudo npm -g --unsafe-perm install homebridge-server 安裝後設定 Config,設定好後重新 Homebridge nano /home/pi/.homebridge/config.json {   "bridge": {     "name": "控制訊號整合閘道器",     "username": "E8:4E:06:35:47:C6",     "port": 51826,     "pin": "123-45-678"   }, "platforms": [    {     "platform": "Server",     "port"    : 8080,     "name"    : "Homebridge Server",     "log"     : "/var/log/daemon.log",      "restart" : "sudo systemctl restart homebridge.service"   }  ] } 安裝 Homebridge-config-ui-x、Homebridge-mqtt(安裝前,先確認是否安裝 mosquitto server) sudo npm install -g homebridge-mqtt sudo npm install -g --unsafe-perm homebridge-config-ui-x 因已安裝 Homebridge-server 套件,固可採兩種方式設定 Config 方式一:檔案編輯 nano /home/pi/.homebridge/config.json {   

IoT|硬體 |樹莓派|實作|安裝樹莓派作業系統|採用 NOOBS

圖片
各種支援樹莓系統介紹  http://makerpro.cc/2015/03/how-to-select-your-os-for-raspberry-pi/ 安裝方式介紹 由於樹莓派有多種系統可以安裝,因此樹莓派基金會提供兩種安裝模式 *  NOOBS(New Out Of Box Software) 安裝     * 多系統開機,在一片SD卡上可以選擇不同的系統,但是容量大些比較合適。     * 因為要等待使用者選擇系統,所以若是遠端開機較慢。     * 一旦SD卡損壞時,可能會災情慘重。 * Raw Images  安裝     * 單一系統開機,一片SD卡安裝一種系統,更換SD卡作為更換系統。     * 容量小的SD卡比較合適安裝,SD卡損壞時,不會災情慘重。     * 適合備份系統儲存、複製或還原。 在此選擇 NOOBS 下載SD卡安裝軟體,直接將 .zip 解壓縮到SD卡。官方建議使用  the New Out Of Box Software (NOOBS),一方面可以多系統使用,另一方面不用擴展記憶空間,但是SD卡容量大些較好。 下載   NOOBS ,選擇完整版 將 下載好的 zip 檔案解壓縮進行壓縮,完成後放入已格式好的 SD 卡中,然後插入樹莓派的卡槽內 啟動樹莓派,選擇欲欲安裝的系統,在此之前確認網路已連線 然後系統開始自動安裝! [資源] 網站 1. NOOBS安裝(多系統開機)

IoT|硬體|感測器|CJMCU-7620 手勢控制

圖片
焊接圖 接線 3.3v VCC 一定要接 3.3v GND GND SDA A4 SCL A5 INT 2 Not connected 九種手勢及對應指令 Gesture Register Register Address If Yes if Not Up data==GES_UP_FLAG 0x43 Gesture detected No gesture detected Down data==GES_DOWN_FLAG 0x43 Gesture detected No gesture detected Left data==GES_LEFT_FLAG 0x43 Gesture detected No gesture detected Right data==GES_RIGHT_FLAG 0x43 Gesture detected No gesture detected Forward data==GES_FORWARD_FLAG 0x43 Gesture detected No gesture detected Backward data==GES_BACKWARD_FLAG 0x43 Gesture detected No gesture detected Clockwise data==GES_CLOCKWISE_FLAG 0x43 Gesture detected No gesture detected Count Clockwise data==GES_COUNT_CLOCKWISE_FLAG 0x43 Gesture detected No gesture detected Wave data==GES_WAVE_FLAG 0x44 Gesture detected No gesture detected paj7620_9gestures.ino /* * Copyright (c) 2015