2012-05-08 25 views
11

Tôi đang cố gắng chạy một máy tính cục bộ qua bluetooth trên điện thoại di động, ipad và các thiết bị không dây khác.Cung cấp trang web địa phương qua bluetooth tới điện thoại di động mà không cần sử dụng Internet

Chúng tôi muốn có thể chạy một trang web được lưu trữ cục bộ trên máy chủ này mà không cần kết nối Internet, có thể chạy trang web qua bluetooth từ máy chủ đến thiết bị không dây.

Máy chủ có thể không được kết nối với internet vì vậy tôi muốn biết liệu có thể chạy trang web cục bộ, trên điện thoại di động thông qua trình duyệt trên điện thoại di động mà không có máy chủ được kết nối với internet hay không.

Tôi đánh giá cao bất kỳ trợ giúp nào về vấn đề này.

Trả lời

8

Vâng, bởi một số phương tiện như:

  • Sử dụng bluetooth tethering ngược - tức là, điện thoại cho rằng máy tính là nó nguồn kết nối mạng. Máy tính không chỉ chạy trên máy chủ web mà còn là máy chủ định danh (hoặc điện thoại có tệp máy chủ) để tên của trang web phân giải thành địa chỉ IP của máy tính trên mạng bluetooth. Lưu ý rằng điện thoại có thể sẽ yêu cầu quyền truy cập cấp quản trị viên hoặc khả năng hiện tại cho điều này.

  • Điều trị bluetooth giống như kết nối nối tiếp. Viết một dịch vụ chạy trên điện thoại và chấp nhận các kết nối mạng từ trình duyệt trên điện thoại thông qua giao diện mạng loopback. Điều này sau đó gửi yêu cầu http qua liên kết nối tiếp bluetooth tới PC, nơi một máy chủ web giống như chương trình chấp nhận chúng và phản hồi qua kênh giống như nối tiếp. Dịch vụ trên điện thoại sau đó cung cấp lại cho trình duyệt qua giao diện mạng loopback. Nếu bạn có nội dung có url như http://localhost:8080, điều này sẽ không yêu cầu quyền truy cập quản trị vào thiết bị nhưng chỉ đơn thuần là khả năng chạy dịch vụ nền có thể nghe trên ổ cắm mạng. Nhưng để loại bỏ: 8080 và chạy trên cổng thông thường ngầm 80, ít nhất là trên Android, bạn sẽ cần quyền truy cập root.

  • BẬT công cụ trình duyệt của điện thoại trong ứng dụng thay thế quyền truy cập giống như nối tiếp qua bluetooth thay cho ổ cắm mạng. Ngoài ra, triển khai ý tưởng dịch vụ phía trên theo cách này bên trong ứng dụng trình duyệt tùy chỉnh, do đó bạn không thực sự phải chạy gói nền, nhưng chỉ có chuỗi dịch vụ nền trong ứng dụng mà người dùng đang sử dụng.

  • Mua bộ định tuyến wifi tại nhà và không kết nối cổng WAN với bất kỳ thứ gì. Nhận một bộ nhớ có đủ bộ nhớ để cài đặt bản phân phối bộ định tuyến-linux và thậm chí bạn có thể lưu trữ trang web trên hộp đó và để máy tính ra khỏi đó. Vâng, đây không phải là giải pháp bluetooth, chỉ cần ném nó ra có cho sự đơn giản nếu có một cách nó có thể được chấp nhận.

+0

Cảm ơn Chris, tùy chọn đầu tiên với tính năng chia sẻ kết nối bluetooth ngược lại, bạn có biết tài nguyên tôi có thể sử dụng để thực hiện điều đó không? Nếu không, tôi đánh giá cao sự giúp đỡ bạn đã cho tôi rồi. – Vesone

+0

Xin lỗi, không có chi tiết cụ thể - và nó sẽ phụ thuộc rất nhiều vào thiết bị của bạn và PC O/S. Nếu hệ điều hành di động được đề cập cũng được sử dụng trên các mẫu máy tính bảng không có radio mạng di động, bạn có thể xem xét bất kỳ hỗ trợ nào để kết nối chúng với điện thoại qua bluetooth, sau đó thử mượn phương thức đó và sử dụng nó với điện thoại đang phát khách hàng thay vì máy tính bảng và PC đóng vai trò nhà cung cấp thay vì điện thoại. Cá nhân sở thích của tôi sẽ là hộp wifi theo sau bởi dịch vụ dịch tcp-to-bluetooth trên thiết bị, theo thứ tự giảm đơn giản. –

+0

Nghe hay, cảm ơn rất nhiều Chris. Tôi sẽ cho một shot. Tôi thực sự đánh giá cao sự giúp đỡ. – Vesone

2

Sử dụng Raspberry Pi với Raspbian Linux OS được cài đặt. Cấu hình máy chủ web ưa thích của bạn trên Pi (Nginx). Định cấu hình Pi làm điểm truy cập Wi-Fi chạy trên máy chủ lưu trữ theo điều này: https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/install-software

Điều này sẽ cung cấp cho bạn một máy chủ web nhỏ gọn, không tốn kém, rẻ tiền để phát sóng SSID WiFi của riêng bạn để kết nối tất cả các thiết bị của bạn với .

Tôi đã sử dụng điều này để đạt được những gì bạn đang có.

+0

Có - bạn cần phải chọn một dongle wifi có khả năng cơ sở hạ tầng, nhưng nếu không thì điều này giống như giải pháp bộ định tuyến-linux, chỉ trên nền tảng hạn chế tài nguyên ít hơn. –

0

Nếu bạn đang phát triển một ứng dụng web mà bạn truy cập thông qua máy chủ cục bộ (tức làgóc cạnh, tốc độ, vv) và muốn truy cập nó trên thiết bị di động của bạn, một tùy chọn là reverse tether thiết bị của bạn để máy tính bảng/điện thoại của bạn truy cập internet thông qua máy tính qua Bluetooth PAN.

Khi thiết bị của bạn được kết nối, bạn sẽ cần phải tìm địa chỉ IP của máy tính của mình trên mạng được lưu trữ trên máy chủ (bluetooth). Để tìm, điều này, hãy mở ứng dụng đầu cuối và nhập ifconfig và tìm kiếm địa chỉ inet trong cấu hình bridge100, ví dụ: trong dòng ra của ifconfig cụm từ này:

bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 
    options=3<RXCSUM,TXCSUM> 
    ether f6:0f:24:22:ea:64 
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255 
    inet6 fe80::f04f:2f4f:ef22:ae64%bridge100 prefixlen 64 scopeid 0x10 
    Configuration: 
     id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0 
     maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200 
     root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0 
     ipfilter disabled flags 0x2 
    member: en6 flags=3<LEARNING,DISCOVER> 
      ifmaxaddr 0 port 15 priority 0 path cost 0 
    nd6 options=201<PERFORMNUD,DAD> 
    media: autoselect 
    status: active 

Một khi bạn có địa chỉ IP của máy tính của bạn trên netowrk bluetooth (192.168.2.1 trong trường hợp này), mở trình duyệt và tải thiết bị di động của bạn, nơi '1234 được thay thế bằng cổng mà máy chủ của bạn đang nghe (tức là 4200 cho Góc, v.v.).

Ghi chú đặc biệt cho AngularJS: theo mặc định, lệnh ng serve chỉ nghe "localhost: 4200", không thể truy cập được vào các thiết bị khác trên mạng của bạn. Đối với Angular, bạn sẽ cần phải khởi động máy chủ của mình với máy chủ được chỉ định như vậy: ng serve -host 0.0.0.0

Các vấn đề liên quan