2023年7月6日 星期四

Jetson Nano啟動RTSP串流服務

# 切root
sudo su

# 套件安裝
apt-get install gtk-doc-tools
apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base
apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
apt-get install gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools
apt-get install gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

# gst-rtsp-server下載與編譯
git clone git://anongit.freedesktop.org/gstreamer/gst-rtsp-server
cd gst-rtsp-server
git clone https://github.com/GStreamer/common.git
./autogen.sh
make -j4
make install

#啟動RTSP Server:
cd examples

#直接讀取CSI鏡頭

./test-launch "nvarguscamerasrc ! nvvidconv ! clockoverlay ! omxh264enc ! rtph264pay pt=96 name=pay0" --- 成功
./test-launch "(  mfw_v4lsrc device=/dev/video0 ! queue ! vpuenc codec=6 ! rtph264pay name=pay0 pt=96 )" --- 失敗

參考: Jetson 学习笔记(十二):CSI摄像头实现rtsp流的传输并对动态获取多路流进行探索_nvvidconv含义_ZZY_dl的博客-CSDN博客



2020年1月22日 星期三

[Hack] 網頁爬蟲,網頁看的到要爬的東西卻無法解出API。[python][selenium][webdriver][chrome]

筆記 (CentOS 7 為例):

    網頁看的到要爬的東西卻無法Hack解出 API,有可能因為 API 要 key 才能 access,或是 API 資料編碼過,回傳到 browser 端才由 javascript 解析塞進 HTML 中。這種情形無法直接用 python request, wget, curl去抓網頁,可透過程式模擬 user 操作 browser 去抓。

    1. 安裝 chrome
        Install google-chrome-stable

a. 於/etc/yum.repos.d/ 建立 google-chrome.repo,內容如下:
        [google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

b. install google-chrome-stable
yum -y install google-chrome-stable

2018年12月28日 星期五

Kong - 註冊 API、Postman 測試 API (二)


    前一篇文章完成了 Kong以及管理介面 Konga 的安裝,接著我們要開始測試 API 代理的基本功能。
    在 Kong 0.13.0 版後,再將 API 概念抽象化為 Services 與 Route,而原來的 API 標記為 Deprecated。


    Services 用來定義上游 (upstream) API 的連接資訊。
    Routes 用來定義給 Client 呼叫調用的介面接口。


2018年12月24日 星期一

Kong - API Gateway - 安裝 (一)

3. Kong Load Balancer (Upstream, Target, Hash-on)
4. Plugin - 認證 Authentication、授權 ACL (待)
5. Plugin - Logging (待)
6. Plugin - Traffic 流量管制 (待)

2018年11月22日 星期四

SpringBoot WebSocket Broadcast 範例

  WebSocket 如其名,即是 Socket over Web。可以做到使用者的 Browser 與 Server 直接建立 Socket 連線,不像傳統  HTTP Request/Response 一來一回,傳完 TCP/IP 連線就結束。WebSocket 同 Socket 可以做到 Connection 不中斷,Server 持續不斷的拋送訊息給 Browser 端,並且在 UI 的上不斷更新資料。不再需像過去使用週期性的javascript timeout polling方式向 Server 要最新狀態,週期設太寬,使用者端就比較晚得知數值狀態的改變,設太密又造成 Server Loading。



  本篇範例是建立一個 WebSocket 通道,連上此 WebSocket 的所有 Client 端,每5秒會收到 Server 廣播的訊息。使用 Spring Boot 1.4.2 版本,gradle設定如下:

2017年12月12日 星期二

在 MAC 上製作樂高組裝說明書


因為家裡小朋友超愛樂高,時不時有讓人驚艷的作品,所以很想把作品併裝的過程記錄下來,也分享給別人可以做出一樣的東西。所以試了一下怎麼做組裝樂高的說明書。就像買主題樂高裡都會附的說明書那樣。

在 MAC 上製作樂高說明書需要的一些軟體:
1. LDraw,LEGO零件資料,下載點: http://www.ldraw.org/parts/latest-parts.html
   下載 complete.zip,解開即可。不用管它。


2017年12月10日 星期日

2017年11月22日 星期三

以員工證別證或自然人憑證 (憑證晶片卡) 登入系統


PC上要裝卡片驗證軟體(跨平台網頁元件),軟體中含有一 Local Server (HTTP Server Listen 某個 port)。

Client(Browser)端做的事:
1. User 鍵入 pin code,將 pin code 交給 LocalServer 檢查。

2017年9月5日 星期二

三套 Embedded Java Database


  小小的Application有時候不會想架 DB Server,或是網路防火牆把你卡的很死,不想給資安的人知道你有裝 DB,這時候可以考慮一下 Embedded Database。之所以叫 Embedded Database ,因為它可以跟你的 Application 跑在同一個 process 裡。當然它也可以選擇架設成一般 Client-Server 的模式。


2017年6月13日 星期二

東京淺草里士滿國際酒店-縮時攝影


這次東京自由行,住了淺草寺旁的里士滿國際酒店,

交通蠻方便,到淺草車站走路大概 7 、 8 分鐘,到筑波快線淺草站只要 2 分鐘。

重點是,面晴空塔的房間,View 非常讚!躺在床上,關著燈看著晴空塔,唔~~~

HTC RE 縮時攝影,10:00 pm ~ 07:00 am。(每天都玩到很晚,只好從 10:00 pm 開始架機器...)



【台中-北屯】Red Garden 紅花園複合式餐廳 - 高CP值早午餐
【屏東-墾丁】-海都旅店一館---大灣路民宿
【屏東。墾丁】濰克-up---墾丁好吃的早午餐


2016年11月22日 星期二

[Note] 原來如此~~ Linux daemon 啟動順序 && TCPWrappers

原來....
/etc/rc5.d 是 boot 啟動 daemon 順序...
現在才知道..........

S開頭: 開機自動啟動
K開頭: 開機不自動啟動

可用 ntsysv 工具設定是否自動啟動

chkconfig

之前雖然會用chkconfig
現在才知道..........
現在才知道..........
現在才知道..........
現在才知道原來是用這樣的方式控制.....


原來.... 這叫 TCP Wrappers。
先判斷 /etc/hosts.allow 再判斷 /etc/hosts.deny。

如何檢查 service 是否支援 TCP Wrapper 管制:
使用 ldd 指令檢查 service 用的 library,若有 libwrap.so 則可用 TCP Wrapper 管制。

# ldd $(which rsyslogd sshd xinetd httpd)
...略 ...
sshd
    libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fb41d3c9000)

參考鳥哥: TCP Wrappers






2016年6月3日 星期五

[筆記] 四套 MOM Server MQTT 支援比較,Mosquitto, RabbitMQ, Apache Apollo, Apache ActiveMQ


最近有點起肖,測試了四套 MOM Server 的 MQTT 方式送收。

使用同一組測試程式,Paho Project Java Sample 測試,Subscriber (Sample.java), Publisher (MqttPublishSample.java)

Scenario 1 如下:
1. Subscriber 連上 MOM
2. Publisher 連續送出 message。
Check Subscriber 是否可以收到所有的 message。(Publisher送10個,Subscriber應該收到10個。)

Scenario 2 如下:
1. Subscriber 連上 MOM
2. Publisher 送出 message。
3. Subscriber 斷線。
4. Publisher 繼續送 message。
5. Subscriber 重新連線。
Check Subscriber 是否可以收到斷線時期,Publisher 送出的資料。


Mosquitto v1.4.9RabbitMQ v3.6.2Apache Apollo v1.7.1Apache ActiveMQ v5.13.3
Scenario 1OKOKNGOK
Scenario 2NGOKOKOK
有Admin UINOYESYESYES

沒有另外做壓測,因為先找功能可以正常的 MOM Server。。。。
And....  Apollo 好像沒什麼在 maintain... see here...

Update: Mosquitto有1.5了,不知道有沒有測過 Scenario 2呢?

2016年5月23日 星期一

使用 Paho Client (in C & Java) 連接 MQTT Server

MQTT Server 是個 MOM(Message-oriented Middleware)。
Paho Project 是 MQTT Client implementation,拿來對 Server 收送資料。它有支援許多語言,包括: C/C++, Java, Python, .NET, Javascript。本篇測試 C/C++ embedded clients。
參考: https://www.eclipse.org/paho/

一、架設一個 MQTT Server (蚊子伺服器(mosquitto)) on CentOS

2015年10月28日 星期三

Linux FTP Server 安全性設定 (VSFTPD on CentOS 7)

相關的安全性設定,包括:
一、關閉 FTP 匿名登入。
二、FTP 帳號, 不可透過 ssh 登入作業系統。
三、FTP 帳號登入後,只看的到自己的 home 目錄,不可隨意切換到作業系統上層目錄。
四、防火牆設定。

2015年10月4日 星期日

Raspberry Pi 縮時攝影 - 清境




曝光時間自動、白平衡自動,總之,全部自動。
弄個 cronjob,30秒拍一張,然後做成 12frame/sec 的影片。

太陽出來後,整個太白,完全看不到天空的細節。不過因為是出來玩的,沒有想花時間去調它。
文件上說,曝光時間可以設定,下次面向太陽的話,曝短一點看看。。。

<< 前一篇: Raspberry Pi 連接 Serial Port 週邊裝置

92 Mon Cafe, 就愛夢咖啡 [台中文心店]


文心路與崇德路口附近開了間新餐廳,92 Mon Cafe,就愛夢。咖啡。洋食館。
今天沒事,終於有機會來吃看看,開拓開拓,看能不能放進口袋名單。