Chợ thông tin Thiết bị Viễn thông Việt Nam
Trở lại   Chợ thông tin Thiết bị Viễn thông Việt Nam Điện Tử Viễn Thông và Hệ Thống Mạng Công nghệ mạng tế bào và mạng không dây
Trả lời
 
Công cụ bài viết Kiểu hiển thị
Cũ 26-02-2013, 08:48 AM   #1
greenvina.textile
Member
 
Tham gia ngày: May 2012
Bài gửi: 64
Online Status: greenvina.textile đang online
Mặc định Giới thiệu module GSM và bộ công cụ lập trình OpenAT của SieraWireless (Wavecom)

Hệ thống quảng cáo SangNhuong.com

Hiện tại SierraWireless(Wavecom) là nhà sản xuất các sản phẩm module GSM đứng đầu trên thế giới, nhưng tại Việt Nam có ít người biết đến và sử dụng vì các lý do chính sau:
- Đây là loại sản phẩm cao cấp, chất lượng cao nên giá thành cao hơn nhiều so với các loại module thông dụng của SIMCOM.
- Do chưa có nhiều người sử dụng tại VN nên tài liệu và hỗ trợ của cộng đồng cũng ít hơn so với module của SIMCOM, số người có kinh nghiệm lập trình trên OpenAT (điểm mạnh của module SierraWireless) cũng không nhiều.
- Do chính sách bán hàng của SierraWireless nên không có nhiều đơn vị có thể nhập về bán lẻ như module của SIMCOM, chính vì thế sản phẩm cũng không được quảng bá nhiều như module của SIMCOM. (Một thông tin bổ sung là hiện nay chỉ có KIM PHƯỢNG HOÀNG là nhà phân phối chính thức của SierraWireless tại VN (Farindo là nhà phân phối của Wavecom trước khi sát nhập vào SierraWireless nên vẫn có thể cung cấp một số dòng module)

Trong loạt bài viết này mình muốn giới thiệu đến tất cả các anh em một số thông tin về module GSM của SierraWireless và bộ công cụ lập trình cho các dòng module đó.
Các bài viết được trình bày theo các nội dung sau:
I. Giới thiệu sơ lược về các sản phẩm GSM của SierraWireless
II. Giới thiệu modem Fastrack, module Q26x và các ưu, nhược điểm của cách sử dụng modem và module của SierraWireless trong phát triển sản phẩm
III. Bộ công cụ lập trình và một số ví dụ đơn giản

(WAVECOM đã sát nhập với SIERRAWIRELESS và mang tên chung là SIERRAWIRELESS nhưng ở Việt Nam cái tên WAVECOM được biết đến nhiều hơn cho nên trong các bài viết mình vẫn dùng cả 2 tên WAVECOM và SIERRAWIRELESS)
Trong các bài viết không tránh khỏi một số ý kiến chủ quan, mong các anh em cùng góp ý để hoàn thiện hơn cách nhìn về các sản phẩm của SierraWireless tại thị trường Việt Nam
  Trả lời với trích dẫn


CHUYÊN MỤC ĐƯỢC TÀI TRỢ BỞI
Cũ 26-02-2013, 08:48 AM   #2
bich_pham
Member
 
Tham gia ngày: May 2012
Bài gửi: 53
Online Status: bich_pham đang online
Mặc định

Hệ thống quảng cáo SangNhuong.com

I. Giới thiệu sơ lược về các sản phẩm GSM của SierraWireless
Tất cả các thông tin mình trình bày dưới đây mọi người có thể tham khảo tại : Sierra Wireless - Wireless mobile computing and M2M
Các sản phẩm của SierraWireless chia ra 3 dòng chính (+ 1 dịch vụ)
1. AirCard Mobile Broadband Devices: Bao gồm các loại card, USB 3G… dùng cho máy tính, ở đây chúng ta không bàn đến.
2. AirPrime Embedded Wireless Modules; Gồm có :
- Các dòng Q, SL, WMP có hỗ trợ OpenAT. Mình sẽ trình bày chi tiết hơn ở phần sau
- Các dòng AR, MC, WS không hỗ trợ OpenAT; trong đó MC là dòng high-speed 3G/4G module, được đóng gói dưới dạng PCI Express Minicard có thể gắn trực tiếp vào máy tính, dòng WS là dòng compact 2G, tượng tự như dòng module SIM300 của SIMCOM hay BG2 của Cinterion.
- Dòng XM (XM0110) là module GPS thiết kế chuyên để kết nối với các module AirPrime, không phải module GSM
3. AirLink Intelligent Gateways and Routers:
Các dòng modem đã đóng gói sẵn từ các module, Gồm có:
- Các dòng modem đa chức năng như Airlink Raven, Airlink Pinpoint, Airlink MP… đây là các modem có thể cấu hình linh hoạt cho các ứng dụng khác nhau, được xây dựng trên các module dòng MC, đạt các tiêu chuẩn kỹ thuật rất cao. Dòng Airlink Pinpoint, Airlink MP hỗ trợ sẵn GPS nên có thể dung trong các ứng dụng Vehicle Tracking cao cấp.
- Các dòng programmable modem: FastrackXtend (phiên bản thay thế cho Fastrack Supreme đã không sản xuất), GL61x0
- Trong các dòng modem/module của SierraWireless, ứng dụng nhiều nhất và thích hợp nhất tại Việt Nam là module dòng Q và modem dòng Fastrack Xtend, mình sẽ giới thiệu chi tiết về 2 loại này trong các bài viết sau.
4. AirVantage Services platform: Đây là một dịnh vụ rất mạnh của SierraWireless, ở Việt Nam có rất ít người biết đến và chưa có đơn vị nào sử dụng cho sản phẩm của mình ngoài Kim Phượng Hoàng. AirVantage Services platform bao gồm lưu trữ database, quản lý thiết bị, hỗ trợ phát triển ứng dụng… các nhà phát triển được cung cấp các API để làm việc với AirVantage Services platform, cả ở phía người sử dụng và FW cho module GSM nên mất rất ít công sức để phát triển hệ thống. Chi tiết anh em có thể tìm hiểu tại: Sierra Wireless - Enable smart M2M connectivity and get your M2M services to market faster hoặc liên hệ trực tiếp với mình. Trong loạt bài này mình chưa nói đến AirVantage Services platform mà để một dịp khác sẽ giới thiệu sau.
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #3
raytuner0717
Member
 
Tham gia ngày: May 2012
Bài gửi: 48
Online Status: raytuner0717 đang online
Mặc định

III. Bộ công cụ lập trình
Khác với các loại module GSM khác, dùng cách điều khiển truyền thống là một MCU sẽ điều khiển module GSM qua các lệnh AT và nhận phản hồi để xử lý; module GSM của SierraWireless còn có thêm cách điều khiển là viết chương trình (dùng OpenAT) nạp vào module để chạy. Điều khác biệt này vì các module của SierraWireless có tích hợp sẵn 1 con ARM9 bên trong.
SierraWireless cung cấp cho người dùng một bộ công cụ miễn phí để lập trình OpenAT gọi là DeveloperStudio. Các bạn có thể download ở đây Sierra Wireless - AirPrime real time embedded software for M2M
(Chọn bộ cài Full installer)
Khi cài yêu cầu máy phải có Java (Java SE Runtime Environment 7 Downloads)
Cách cài đặt rất đơn giản, mọi người chỉ cần chú ý chọn đúng loại module/modem mình sẽ sử dụng và đầy đủ các plugin muốn sử dụng; khi cài thì chọn package là package đã download về chứ không chọn lastest package (để khỏi phải download một lần nữa).
Về tài liệu, các bạn chỉ cần tham khảo các tài liệu về AT command và các API để lập trình OpenAT (ADL_User_Guide) là đủ. Tất cả các tài liệu này có thể tìm thấy trong bộ công cụ DeveloperStudio sau khi cài đặt
Mình gửi kèm một số hình minh họa quá trình cài đặt

[ATTACH=CONFIG]33667[/ATTACH][ATTACH=CONFIG]33668[/ATTACH]
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #4
thanhlong_company
Member
 
Tham gia ngày: May 2012
Bài gửi: 50
Online Status: thanhlong_company đang online
Mặc định

Hệ thống quảng cáo SangNhuong.com

Tạo project mới
Khi khởi động phần mềm DeveloperStudio, giao diện như hình bên dưới:

Bấm vào biểu tượng “My project” để vào trang porject:

Đến đây ta bấm vào “Create a new OpenAT application”

(Hoặc có thể làm cách khác: vào File -> new -> OpenAT project)

Trong cửa sổ new project các bạn đặt tên cho project, project sẽ được lưu tại thư mục mặc định và các bạn có thể lưu ở nơi khác nếu muốn.

Tạo và đặt tên project xong, các bạn chọn các plugin cần dùng trong project (đánh dấu vào các plugin đó trong tab plug-in).

Tiếp theo DeveloperStudio đưa ra một số ví dụ cho các bạn chọn. Chọn ví dụ nào DeveloperStudio sẽ tạo ra cho bạn project của ví dụ đó, không chọn thì sẽ có 1 project trắng (chỉ có file main.c và template cho chương trình chuẩn)

Cuối cùng là chọn loại module/modem các bạn sử dụng và kiểu bộ nhớ (256KB cho module có 1MB RAM, 1M+ cho module có 2MB RAM trở lên)

Hoàn tất quá trình tạo project, các bạn sẽ thấy giao diện soạn thảo của DeveloperStudio, do IDE của DeveloperStudio được phát triển trên Eclipse nên hoàn toàn giống Eclipse, khá thuận lợi cho các bạn đã từng dùng Eclipse
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #5
drvovanloan
Member
 
Tham gia ngày: May 2012
Bài gửi: 44
Online Status: drvovanloan đang online
Mặc định

Còn mấy tấm hình không up được phải chia ra bài mới để up tiếp
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #6
daforesco2004
Member
 
Tham gia ngày: May 2012
Bài gửi: 58
Online Status: daforesco2004 đang online
Mặc định

Hệ thống quảng cáo SangNhuong.com

Các tài liệu chính nên tham khảo: ADL user guide, AT command, AT command for WIP, ADL for WIP (WIP là plugin cho TCP/IP và hay được dùng nhất)
Tai lieu OpenAT.zip
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #7
bpa
Member
 
Tham gia ngày: May 2012
Bài gửi: 52
Online Status: bpa đang online
Mặc định

Lập trình cho module bằng OpenAT

Về cấu trúc, OpenAT dựa hoàn toàn vào C/C++ nên việc làm quen với lập trình OpenAT không khó khăn nhiều với những người đã biết lập trình C/C++. Chỉ cần biết các hàm ADL và một số điểm khác biệt so với ngôn ngữ C/C++ là các bạn có thể hoàn toàn làm chủ ngôn ngữ lập trình OpenAT.

Chúng ta sẽ cùng phân tích một ví dụ đơn giản nhất là “Hello World” để hình dung ra cấu trúc của một chương trình OpenAT. Ví dụ này có trong bộ DeveloperStudio, các bạn làm theo các bước mình đã hướng dẫn ở bài trước để tạo project Hello chứa ví dụ Hello của DeveloperStudio. Khi chạy chương trình, mỗi giây sẽ in ra cổng UART dòng chữ “Hello World from Open-AT”.

Một chương trình OpenAT được chia thành các task, được định nghĩa qua “adl_InitTasks” table.
“adl_InitTasks” table chứa các structure định nghĩa các task trong chương trình.
Mỗi structure bao gồm: tên entry point (tên hàm định nghĩa task), Stack size, tên task, mức độ ưu tiên.
Kết thúc một “adl_InitTasks” table luôn là task có mức ưu tiên bằng 0, các giá trị khác là NULL (hay 0)
const adl_InitTasks_t adl_InitTasks [] =
{
{ main_task, DECLARE_CALL_STACK ( 1024 ), "main", 1 },
{ 0, 0, 0, 0 }
};
Ở đây, main_task là tên hàm main được định nghĩa ở trên :
extern void main_task ( void );
Chú ý là một chương trình OpenAT không có hàm main chung, mà chỉ có hàm main cho từng task.

DECLARE_CALL_STACK là macro định nghĩa stacksize theo từng phiên bản trình dịch, để đơn giản ta có thể thay bằng một con số cụ thể, giá trị tùy thuộc vào mức độ sử dụng của chương trình, nhưng không vượt quá dung lượng RAM có thể sử dụng.

#ifndef __GNU_GCC__
#define DECLARE_CALL_STACK(X) (X)
#else
#define DECLARE_CALL_STACK(X) (X*3)
#endif
Đoạn này để định nghĩa stack size khi dùng các trình dịch khác nhau. Nếu khai báo cố định một giá trị stack size, ta sẽ không cần đoạn chương trình này.
"main" là tên gọi của task, có thể dùng bất cứ tên nào cũng không ảnh hưởng đến chương trình.
Chương trình gồm 1 task nên task có mức ưu tiên là 1, nếu có nhiều task, mức độ ưu tiên sẽ tăng dần, luôn bắt đầu từ 1 (không kể task NULL kết thúc)

Bây giờ đi sâu vào phân tích các lệnh của chương trình:
void main_task ( void )
{
adl_InitType_e adl_InitType = adl_InitGetType ();
TRACE (( 1, "Embedded : Appli Init" ));


adl_tmrSubscribe ( TRUE, 10, ADL_TMR_TYPE_100MS, HelloWorld_TimerHandler );
}

Lệnh “TRACE” thường dùng để debug, nó in các thông tin debug ra cổng UART 1 hoặc UART 2 của module, trong các ứng dụng của OpenAT, thường dùng cách này hoặc dùng lệnh “adl_atSendResponse “ để print trực tiếp thông tin debug ra cổng UART.
adl_InitGetType() là hàm dùng để lây nguyên nhân module bị reset (power on hay reset do lỗi, do mới download xong firmware mới…)

adl_tmrSubscribe() để tạo một timer (ở ví dụ này là 1s lặp lại) để in dòng chữ "\r\nHello World from Open-AT\r\n" ra cổng UART đang hoạt động
Chi tiết các hàm này các bạn tham khảo trong tài liệu “ADL user guide” , trong đó viết rất chi tiết và đầy đủ, tất cả các hàm đều có giải thích và ví dụ nên rất dễ đọc.

Một điều chú ý, OpenAT là một RTOS nên trong các chương trình ứng dụng viết bằng OpenAT, watchdog timer tự động được kích hoạt, nếu các bạn dùng các vòng lặp chờ (như chờ dữ liệu từ UART…) phải chú ý có thể watchdog timer sẽ làm module bị reset liên tục.
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #8
sales
Senior Member
 
Tham gia ngày: May 2012
Bài gửi: 141
Online Status: sales đang online
Mặc định

Hệ thống quảng cáo SangNhuong.com

Chào Quang,
Trước tiên cám ơn Quang đã giúp sức giới thiệu các module của Sierra và cách sử dụng các module này trên diễn đàn.
Mình có một số đính chính như sau:

- Chỉ có Farindo là Distributor cho dòng sp AirPrime của Sierra tại Vietnam, ai phân phối sp nào : có thể vào website của Sierra để check trong phần find distributor.
- Farindo hoàn toàn hỗ trợ các đơn hàng nhỏ, và hỗ trợ anh em nghiên cứu phát triển.

Một lần nữa cám ơn Quang đã gửi tài liệu kỹ thuật cho anh em.
  Trả lời với trích dẫn


Cũ 26-02-2013, 08:48 AM   #9
gocuongphat
Member
 
Tham gia ngày: May 2012
Bài gửi: 41
Online Status: gocuongphat đang online
Mặc định

Vấn đề Farindo hỗ trợ các đơn hàng nhỏ lẻ thì mình không biết, vì mình không phải là khách hàng của Farindo.
Về hỗ trợ kỹ thuật của Farindo, đây không phải là ý kiến đánh giá của mình mà là đánh giá của một số khách hàng của chính Farindo, có thể kiểm chứng tại đây: xin hỏi về module gsm kết nối với vdk để gửi nhận tin nhắn, phần nhận xét của bạn Toan.Lv

Còn về việc ai có thể phân phối dòng sản phẩm nào, bạn làm bên Farindo nên cũng thừa biết những liên hệ của Farindo và Kim Phượng Hoàng với SierraWireless. Mình khẳng định bất cứ khách hàng nào có yêu cầu về sản phẩm bất kỳ của SierraWireless, Kim Phượng Hoàng đều có thể cung cấp được. Cùng là distributor của SierraWireless nên mình không muốn tranh cãi về vấn đề này, mình chỉ muốn bạn hãy đưa thông tin chính xác cho anh em được biết, đừng có đưa thông tin theo kiểu đính chính như thế.

Mình cũng rất hy vọng bên Farindo có thể cùng góp sức trong việc cung cấp thông tin, tài liệu kỹ thuật và nhất là các bài giới thiệu, hướng dẫn về lập trình trên OpenAT cho anh em trên diễn đàn, không biết các bạn có sẵn lòng không?

Nhân tiện đây mình cũng xin lỗi tất cả các anh em, vì lý do bận việc gia đình nên tạm thời mình chưa đưa thêm các bài viết kỹ thuật lên được, trong tuần tới mình sẽ đưa thêm một số nội dung bài viết mới
  Trả lời với trích dẫn


CHUYÊN MỤC ĐƯỢC TÀI TRỢ BỞI
Trả lời


Công cụ bài viết
Kiểu hiển thị

Quyền viết bài
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is Mở
Mặt cười đang Mở
[IMG] đang Mở
HTML đang Mở
Chuyển đến

SangNhuong.com

© 2008 - 2024 Nhóm phát triển website và thành viên SANGNHUONG.COM.
BQT không chịu bất cứ trách nhiệm nào từ nội dung bài viết của thành viên.
Diễn đàn được xây dựng bởi SangNhuong.com