Tương tự bài trước, nhưng chúng ta chỉ dùng một đĩa trong cả quá trình dời rootfs sang logical volume. Thực hiện nhanh hơn và đơn giản hơn, tuy làm thủ công nhưng không mất quá 5 phút.
Author Archives: anhtuan
Cài đặt OS trên Logical volume (II)
Comments Off on Cài đặt OS trên Logical volume (II)
Filed under Software
Cài đặt OS trên Logical volume
Sau khi dùng Raspberry Pi Imager ghi file ảnh của OS vào đĩa như bình thường, chúng ta sẽ chuyển OS trên partition rootfs vào LV.
Việc chuyển phần cài đặt thì đơn giản nhưng các driver của LVM ngay khi khởi động phải được nạp để có thể làm việc với rootfs trên LV. Khi khởi động Raspberry Pi nạp một ramdisk cho initrd, vì vậy chúng ta chỉ phải bổ sung initram chứa các driver cho LVM.
Chuẩn bị
- RPi 4
- 2 đĩa khởi động PiOS, trong đó 1 đĩa sẽ được chuyển PiOS sang logical volume
- Wifi
Ghi file ảnh vào đĩa
Continue readingComments Off on Cài đặt OS trên Logical volume
Filed under Software
Đếm mail được postfix gởi đi
Mail server cài đặt trên RPi thường phải dùng IP động, IP loại này phần lớn nằm trong blacklists khiến cho email gởi đi có thể bị từ chối.
Cách giải quyết thông thường là dùng relay host. Mail server của chúng ta gởi nhờ email qua trung gian các mail server uy tín khác. Các SMTP relay này phần lớn là chỉ miễn phí 200-300 email một ngày, riêng Gmail miễn phí 500 email một ngày với điều kiện không gởi trong một lần.
Với doanh nghiệp nhỏ 15-20 nhân viên, có thể dùng 1-2 tài khoản Gmail để gởi mail là đủ. Vấn đề là làm sao đếm số email được gởi qua một tài khoản đã đủ định mức để chuyển sang dùng tài khoản khác.
Continue readingComments Off on Đếm mail được postfix gởi đi
Filed under Software
Onvif: Lỗi kết nối với camera
Mỗi kiểu camera của mỗi hãng đều có các hạn chế về số kết nối đồng thời với camera. Trường hợp camera vẫn hoạt động bình thường nhưng thiết bị bên ngoài thử kết nối lại nhiều lần (thí dụ reboot) thì có thể không kết nối được nữa.
Một thí dụ là script onvif-motion-recorder chạy trên RPi và RPi định kỳ reboot theo lịch thì sau đó script onvif-motion-recorder không thể kết nối với camera.
Một giải pháp là reboot camera trước khi thử kết nối lại
Continue readingComments Off on Onvif: Lỗi kết nối với camera
Filed under Software
Tools cho ổ đĩa đám mây
cloudup
Giám sát một thư mục và upload lên ổ đĩa đám mây các thay đổi trong thư mục đó.
Trong thư mục nguồn này có thể chứa các symlink trong các thư mục con cho đến cấp 2. Điều này giúp gom các thư mục nguồn về một nơi và tổ chức các thư mục ở ổ đĩa đám mây gọn gàng hơn.
Thí dụ thư mục autosync chứa 2 symlink và thư mục con backup chứa 4 symlink
/autosync
├── backup
│ ├── EloQ-backup -> /mnt/EloQ
│ ├── move2new -> /mnt/move2new
│ ├── tool -> /mnt/tool
│ └── wordpress.sql.gz -> /mnt/backup/wordpress.sql.gz
├── lyntuan -> /mnt/backup/lyntuan
└── picture -> /mnt/minidlna/picture
## hình 1 ##
Continue reading Comments Off on Tools cho ổ đĩa đám mây
Filed under Software
Xác thực kiểu Digest
- Xác thực kiểu Basic dùng base64 để mã hóa thông tin. Nó không an toàn vì có thể giải mã dễ dàng.
- Xác thực kiểu Digest dùng băm với mã hóa MD5 và có thêm giá trị nonce để ngăn chặn các cuộc tấn công dò tìm lặp đi lặp lại.
Ngày nay, xác thực digest được dùng phổ biến. Thí dụ khi lấy ảnh snapshot của camera với username/password.
Continue readingComments Off on Xác thực kiểu Digest
Filed under Software
Đóng gói ứng dụng Nodejs với npm
Một ứng dụng nodejs thông thường liên kết với rất nhiều module từ nhiều nguồn khác nhau.
Mỗi lần cài đặt một ứng dụng thì ngoài tải về các module của ứng dụng đó còn phải tải về nhiều module phụ thuộc khác. Nếu mỗi ứng dụng cài đặt trong một thư mục khác nhau thì có thể phải tải về các module phụ thuộc trùng lặp nhưng nằm ở các vị trí khác nhau, làm lãng phí không gian đĩa. Có thể tránh điều này bằng cách cài đặt tất cả ứng dụng nodejs vào cùng một thư mục, khi đó chúng chia sẻ các module phụ thuộc ở thư mục con node_modules, tuy cũng có nhiều bất tiện. Ngay cả tìm cách đóng gói ứng dụng trong file exe cũng chỉ che dấu chứ không tránh được việc lãng phí không gian đĩa.
Continue readingComments Off on Đóng gói ứng dụng Nodejs với npm
Filed under Software
PM2 Process Management
PM2 là ứng dụng dòng lệnh, quản lý các tiến trình chạy thường trực, ngay cả khi khởi động lại.
Cài đặt
npm install pm2@latest -g
Chạy một ứng dụng
$ pm2 start app.js
$ pm2 start bashscript.sh
$ pm2 start python-app.py --option
$ pm2 start binary-file -- --port 1520
# Có thể bao gồm "app_name param" trong chuỗi
$ pm2 start "binary-file --port 1520"
Continue reading Comments Off on PM2 Process Management
Filed under Software
Ghi hình camera và RPi
Cách đây hơn 10 năm, tôi mua camera Level One độ phân giải WXGA với giá khoảng 2 triệu đồng, ghi hình lên thẻ nhớ. Sau đó có RPi thì cho ghi về HDD vì camera này hỗ trợ FTP và Samba, một thời gian sau đó thì dùng rclone để tạo bản sao trên Google Drive. Cảm thấy rất hài lòng về camera này!
Cho đến nay, những camera Level One này vẫn chạy tốt, có điều chỉ lấy hình được qua FTP, không nhận được hình từ Samba nữa.
Continue readingComments Off on Ghi hình camera và RPi
Filed under Software
Ghi hình chuyển động #5: Onvif
Khi phát hiện chuyển động, camera phát ra cặp tín hiệu “bắt đầu” và “kêt thúc”. Chúng ta có thể căn cứ vào tín hiệu này để ghi video.
Tuy nhiên, trong khi một số camera như Imou phát tín hiệu theo kiểu đơn luồng thì camera như HIKvision lại phát kiểu đa luồng: nhiều tín hiệu “bắt đầu” được phát ra đan xen với nhiều tín hiệu “kết thúc” và số tín hiệu “bắt đầu” và “kết thúc” có thể không bằng nhau. Nếu ghi đúng theo cặp tín hiệu thì chúng ta có được các clip rất ngắn, vài giây.
Continue readingComments Off on Ghi hình chuyển động #5: Onvif
Filed under Software