Author Archives: lnt

[Zigbee] Flash CC2531 USB bằng RPi

Có thể flash USB CC2531 chỉ dùng RPi, không cần CC Debugger. Làm được điều này chúng ta luôn luôn có thể cập nhật firmware Z-Stack (coordinator hay router) mới nhất cho CC2531.

Continue reading

Comments Off on [Zigbee] Flash CC2531 USB bằng RPi

Filed under Software

[Tasmota] Flash Sonoff T2/T3

Kể từ eWeLink 3.5.10, LAN mode được kích hoạt tự động, và có thể cho thiết bị sOnOff chỉ dùng LAN, không phụ thuộc vào server của nhà sản xuất. Tuy nhiên để đồng bộ các các thiết bị dùng firmware Tasmota, có thể flash firmware Tasmota cho sOnOff T2/T3.

Continue reading

Comments Off on [Tasmota] Flash Sonoff T2/T3

Filed under Software

[HASS] Nhắc việc /Google Calendars

Bên cạnh nhắc việc dựa vào danh sách cố định, có một loại nhắc việc khác dựa trên dịch vụ lịch Google.

Khi đến thời điểm bắt đầu của một sự kiện trên Google Calendars, HASS sẽ được thông báo để có hành động, ở đây là phát ra lời nhắc đã ghi trên lịch.

Continue reading

Comments Off on [HASS] Nhắc việc /Google Calendars

Filed under Software

[HASS] Nhắc việc /Lịch cố định

Thông qua tts.google_translate, có thể tạo automation để loa Google phát âm thanh nhắc việc bằng tiếng Việt theo lịch cố định cho trước. Thí dụ như nhắc người già uống thuốc…

Ngoài ra, còn một loại nhắc việc dựa vào dịch vụ Google Calendar, công việc có thể khác nhau mỗi ngày.

Continue reading

Comments Off on [HASS] Nhắc việc /Lịch cố định

Filed under Software

Sync với cloud drive (III)

Script sau đây giám sát thư mục LOCAL_DIR và cả target của các symlink trong đó. Nhờ vậy, mọi thay đổi trong cả LOCAL_DIR và symlink đều được cập nhật lên REMOTE_DIR, thậm chí nhiều REMOTE_DIR.

Một LOCAL_DIR với nhiều symlink bên trong rõ ràng là tiện lợi hơn nhiều LOCAL_DIR. Code phức tạp hơn một chút nhưng hiệu quả chỉ bị ảnh hưởng bởi tốc độ upload!

Continue reading

Comments Off on Sync với cloud drive (III)

Filed under Software

cloudup: Sync với cloud drive (II)

Khi ta định kỳ sync một thư mục local với một thư mục remote, thí dụ Google Drive hay Onedrive, trở ngại lớn nhất là kích thước thư mục. Thời gian kiểm tra để biết file/thư mục nào mới cần tải lên trở nên khá lâu, gần 30 phút với thư mục 100GB và còn tùy ở băng thông upload.

Có một cách khác là giám sát thư mục local, chỉ upload file/thư mục con mới/có thay đổi của nó mà thôi. Việc giám sát này cần inotifywait trong gói inotify-tools.

inotifywait -mr --event 'create,close_write,delete,move' --format "%e %w%f" "$LOCAL_DIR"
Continue reading

Comments Off on cloudup: Sync với cloud drive (II)

Filed under Software

cloudsync: Sync với cloud drive (I)

Cách đơn giản nhất là định kỳ sync một thư mục local với một thư mục remote, thí dụ Google Drive, hay ngược lại. Việc này rclone làm tốt, script chỉ định kỳ làm việc qua crontab mà không cần giám sát sự thay đổi trong thư mục, áp dụng cho rất nhiều loại ổ đĩa đám mây.

Continue reading

Comments Off on cloudsync: Sync với cloud drive (I)

Filed under Software

Cài đặt UnRar (non-free)

Dường như không thể cài đặt unrar (non-free) trên Debian 10 (Buster)!

Chúng ta phải biên dịch và cài đặt từ file deb. May mắn là có script làm sẵn che dấu bớt sự phức tạp.

Continue reading

Comments Off on Cài đặt UnRar (non-free)

Filed under Software

Rút gọn partition cuối

Việc rút gọn một partition để lại khoảng trống sau partition đó. Nếu đó là partition cuối cùng và trong một file ảnh img thì file ảnh đó có thể được cắt ngắn. Đây là một tình huống có thể cần khi tạo file ảnh sao lưu Raspbian.

Continue reading

Comments Off on Rút gọn partition cuối

Filed under Software

Sed: Ký tự ngăn cách

Chúng ta có câu điều kiện cho sed như sau

sed "/^$/d;/${dsk}$/d"

Chúng ta bảo với sed là câu rỗng thì xóa, kế đến xóa luôn câu tận cùng là $dev. Chúng ta đang dùng dấu phân cách mặc định “/” cho điều kiện và lệnh.

Cú pháp quá rõ rồi, nhưng không may $dev lại có dạng /dev/sda1. Vì vậy câu lệnh trở nên

sed "/^$/d;//dev/sda1$/d"

Continue reading

Comments Off on Sed: Ký tự ngăn cách

Filed under Software