---
# System prepended metadata

title: Untitled

---

**epoll 心得**
2022/5/6
由於Epoll 只有在linux底下才可以運行，所以我花了一小段時間到處詢問怎麼樣啟動。
最後我使用的方法為：啟用Windows Subsystem for Linux(WSL)才可以運行。
經過GCC 編譯之後，我終於可以使用epoll。首先就是這個是一個小型的Server 可以在Server端存入 Client端的input，並且在Clinet端可以重新顯示輸入的自串。

首先我開了一個Server端![](https://i.imgur.com/rfrCrvz.png)
以及一個Client端![](https://i.imgur.com/JVy1CIO.png)
以下為程式碼的解析：
epoll 利用 s和c 字元來表示是Client端或是Server端，![](https://i.imgur.com/qh1n41a.png)利用opt()來取得用戶資訊。
接下來為server_run()，實際上程式碼並沒有很難，實際上就是follow三大步驟
**<Connect with Client and output－＞ Determine what kind of event happened－＞
Output input data/unexpeted/connection closed>**
詳細的實作需要再另外看linux manuscript 但大致流程為如此
同理，接下來為client_run()，流程如下：
**<Check connection event－＞ Connect with server－＞Echo>**
利用write()，將buffer中資料寫入Server中，接下來就只是簡單的字串處理。
而以上就是我對於epoll-example 的理解。
------------------------------------------------------------------------------
**LiDAR-Enhanced Connected Infrastructures
Sensing and Broadcasting High-Resolution Traffic
Information Serving Smart Cities 閱讀心得**
```
首先是部分名詞解釋
CV(Connected Vehicle)：為一種概念型的車子，意旨路上的車子可以藉由Message Exchange 來達到安全、省油...ETC優點的技術。
ITS(Intelligent Transportation System)：智慧城市中想要達到的目標。
DSRC(Dedicated_Short_Range_Communication)：一種車聯網的短程連接技術。
SPaT(Signal Phase and Timing)：一種狀態描述的機制。
LiDAR(Light Detection and Rangnin)：一種自動偵測周遭環境的技術。
HRMTD(High Resolution Micro Traffic Data)：也是一種資料紀錄、存取的方法，其中包括速度、地點、方向等。
```
知道上述名詞的意義之後，就可以開始探討這篇論文到底在闡述的東西了。
首先就是這篇文章的主旨：
==主要是在講LiDAR這個技術可以智慧城市帶來何種貢獻，以及部分技術（大部分都點到為止，並沒有詳談），另外就是部分研究的公式，讓後續研究可以參考的數學公式==
首先來談談在Introduction對智慧城市的看法，以及我對於自此技術的看法：
==首先，這個技術在未來勢必是一定要實裝在各城市首都，此舉可以大大降低路上行人被撞的機率，除此之外，因為資料紀錄的特性，若發生車禍，必要時也可以從資料庫中找到資料來獲取對應的資料進而歸究責任。再來，由於實際在每個十字路口裝置此裝置的成本過於龐大，以及在論文中有提到的**Potential Vandalism**（為我比較在意的片段），這些都有可能導致實裝面的機率大大降低。==
再來討論技術面：
==這份文章討論的技術並沒有我想像中的多，首先就是**Background Filtering**（我猜應該是採用greedy 演算法去排除所有在單位時程內出現太多次的點），非常人性化，畢竟出現太多次，那應該就是背景了吧，但這邊我就想要問問看，如果有人故意在一段時間內都沒有任何動作呢？，當然這又是另外的問題了。==
==再來是部分後面提到的Vector Machine, Random Forest等ML模型，這邊沒有探究，所以我當下讀的時候有點不清楚在幹嘛。反正就是利用ML模型去篩選出真正的行人，以Random Forest的成功率、效率為最高。==
接下來就是討論硬體面以及實作面，他們選用藍芽來進行短程資料交流，也因為資料交流講求效率，所以資料需要被切割成小型的封包再來傳送，![](https://i.imgur.com/hLRJNm2.png)這邊所講的數學公式都是用來計算封包在何種大小，以及長度在間隔在多長的狀況下可以有最高的傳輸效力，而最高也代表著傳輸必須要成功，所以也包括了資料傳輸失敗的機率，![](https://i.imgur.com/qWfPAE1.png)
藉由這些圖表可以發現封包越大，傳輸Delay越高（理所當然）。

而間隔在20ms以下或40ms以上的delay會越嚴重。![](https://i.imgur.com/CFbHyma.png)
以上為我對於此論文的理解以及心得。
------------------------------------------------------------------
最後是了解 SAE Standrad 定義的 J2735 及 J2945 規範：
```
IEEE 802.11p 是一種規範系統傳輸資料的規格
    >是802.11的延伸，必須提供無線傳輸以及車聯網的服務
    >強調OSI中實體層以及DataLink Layer中的MACLayer
IEEE802.11 and 1609
1609.0
Overview of the system
1609.2
More secure ”data exchange”
1609.3
Only support WSMP and IPv6
1609.4
Enhance 802.11 mac to support multi-channel operations
1609.12
Identifier allocations
SAE J2735
一、	一種規範車聯網互相傳送訊息的資料規範
二、	值得注意的一點是，利用ASN.1來進行規範的資料結構。
三、	Some objects in a message are Mandatory and some are Optional這句話我並不了解哪種訊息是一定需要的，而那些又不需要，這邊可能要再跟學長請教。
PSM(personalSafetyMessage)
可以利用小型裝置例如：手機、腳踏車裝置、或是部分身上的裝置來提醒車子有弱小物品前來。
PVD(ProbeVehicleData)
利用照片（snapshots）來提供RSU物體的行為以及事件。
PDM(ProbeDataManagment)
上述資料結構的管理程序，規範蒐集資料的時間以及距離。
SSM(SignalStatusMessage)
藉由RSU廣播出優先佇列以及插隊要求
SRM(SignalRequestMessage)
藉由車子本身要求優先權以及插隊需求
TIM(TravelerInformationMessage)
RSU發出的道路狀態，其中包括：
				彎道速度警告
				作業區域：通知使用者地形
				出口通知

```
J2945，這邊主要都是在說除了J2735之外，額外的SPEC，Performance Requirements
我需要請問學長NHTS NPRM我需要在哪裡讀到J2945/1

J2945/2 新增了以下功能：
    緊急車輛警報、路邊警報、安全警訊。
J2945/9 更新了
VRU 以及車輛的安全訊息（資料傳輸）
在最後 InBallot我不太清楚是甚麼意思
J2945/10
還在開發中，不過主要利用SPaT和地圖資訊提供嚮導。
------------------------------------
最後為USDOT提供的服務
>ODE(Operational Data Environment)
>SDC(Situational Data Clearinghouse)
>SDW(Situational Data Warehouse)
>SCMS(Security Credential Management System)
>J2735 Map Tool